copiar rango de celdas

25/02/2005 - 20:17 por Fabian | Informe spam
Hola a todos!
Es posible copiar un rango de celdas de un libro abierto a otro libro,
estando este cerrado?
Gracias.

Preguntas similare

Leer las respuestas

#1 Daniel
25/02/2005 - 20:23 | Informe spam
Me parece que no es posible

"Fabian" escribió en el mensaje
news:
Hola a todos!
Es posible copiar un rango de celdas de un libro abierto a otro libro,
estando este cerrado?
Gracias.


Respuesta Responder a este mensaje
#2 mary7
03/03/2005 - 18:39 | Informe spam
Daniel wrote:

Me parece que no es posible

"Fabian" escribió en el mensaje
news:
> Hola a todos!
> Es posible copiar un rango de celdas de un libro abierto a otro libro,
> estando este cerrado?
> Gracias.
>
>no seas ESTUPIDO, ¿no puedes escribir elgo mejor?
Respuesta Responder a este mensaje
#3 KL
03/03/2005 - 21:41 | Informe spam
Hola Fabian,

Creo q es posible usando ADO (aunque no tengo mucha experiencia con ADO).
Este macro por ejemplo me funciona (previamente estableciendo referencia a
Microsoft ActiveX Data Object # Library):

Sub test()
Dim objConn As ADODB.Connection
Dim szConnect As String
Dim szSQL As String
' Create the connection string.
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\New.xls;" & _
"Extended Properties=Excel 8.0;"
' Create the SQL statement.
szSQL = "INSERT INTO [Sheet1$A1:A100] VALUES(22);"
' Create and open the Connection object.
Set objConn = New ADODB.Connection
objConn.Open szConnect
For i = 1 To 100
' Execute the insert statement.
objConn.Execute szSQL, , adCmdText Or adExecuteNoRecords
Next i
' Close and destroy the Connection object.
objConn.Close
Set objConn = Nothing
End Sub

De todas formas te recomiendo q revises estos enlaces:

COMO: Usar ADO con datos de Excel desde Visual Basic o desde VBA
http://support.microsoft.com/kb/257819/es

Ejemplos de conexiones
http://www.erlandsendata.no/english...t=envbadac

Ejemplos de conexiones
http://www.able-consulting.com/tech.htm

Saludos,
KL

"Fabian" wrote in message
news:
Hola a todos!
Es posible copiar un rango de celdas de un libro abierto a otro libro,
estando este cerrado?
Gracias.


Respuesta Responder a este mensaje
#4 Fabian
04/03/2005 - 01:13 | Informe spam
OK. Gracias KL.
"KL" escribió en el mensaje
news:
Hola Fabian,

Creo q es posible usando ADO (aunque no tengo mucha experiencia con ADO).
Este macro por ejemplo me funciona (previamente estableciendo referencia a
Microsoft ActiveX Data Object # Library):

Sub test()
Dim objConn As ADODB.Connection
Dim szConnect As String
Dim szSQL As String
' Create the connection string.
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\New.xls;" & _
"Extended Properties=Excel 8.0;"
' Create the SQL statement.
szSQL = "INSERT INTO [Sheet1$A1:A100] VALUES(22);"
' Create and open the Connection object.
Set objConn = New ADODB.Connection
objConn.Open szConnect
For i = 1 To 100
' Execute the insert statement.
objConn.Execute szSQL, , adCmdText Or adExecuteNoRecords
Next i
' Close and destroy the Connection object.
objConn.Close
Set objConn = Nothing
End Sub

De todas formas te recomiendo q revises estos enlaces:

COMO: Usar ADO con datos de Excel desde Visual Basic o desde VBA
http://support.microsoft.com/kb/257819/es

Ejemplos de conexiones
http://www.erlandsendata.no/english...t=envbadac

Ejemplos de conexiones
http://www.able-consulting.com/tech.htm

Saludos,
KL

"Fabian" wrote in message
news:
> Hola a todos!
> Es posible copiar un rango de celdas de un libro abierto a otro libro,
> estando este cerrado?
> Gracias.
>
>


Respuesta Responder a este mensaje
#5 KL
04/03/2005 - 04:10 | Informe spam
Fabian,

Tambien puedes abrir el libro en cuestion (digamos "c:\temp\test.xls")
invisiblemente. Abre el archivo, copia el siguiente codigo en cualquier
modulo del libro y lanzalo:

Sub HacerInvisible()
With ThisWorkbook
Windows(.Name).Visible = False
.Protect "Test", True, True
.Save: .Close
End With
End Sub

Ahora puedes abrir el fichero y manipularlo sin q nadie lo vea, p.ej:

Sub test()
Dim MiLibro As Workbook
Dim nLibLargo As String
Dim nLibCorto As String
nLibLargo = "c:\temp\test.xls"
nLibCorto = Dir(nLibLargo)
If nLibCorto = "" Then Exit Sub
On Error Resume Next
Set MiLibro = Workbooks(nLibCorto)
On Error GoTo 0
If MiLibro Is Nothing Then
Set MiLibro = Workbooks.Open(nLibLargo)
End If
With MiLibro
ThisWorkbook.Sheets(1).Range("A1:A20").Copy
.Sheets(1).Range("B1:B20")
.Save: .Close
End With
End Sub

Saludos,
KL

"KL" wrote in message
news:
Hola Fabian,

Creo q es posible usando ADO (aunque no tengo mucha experiencia con ADO).
Este macro por ejemplo me funciona (previamente estableciendo referencia a
Microsoft ActiveX Data Object # Library):

Sub test()
Dim objConn As ADODB.Connection
Dim szConnect As String
Dim szSQL As String
' Create the connection string.
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\New.xls;" & _
"Extended Properties=Excel 8.0;"
' Create the SQL statement.
szSQL = "INSERT INTO [Sheet1$A1:A100] VALUES(22);"
' Create and open the Connection object.
Set objConn = New ADODB.Connection
objConn.Open szConnect
For i = 1 To 100
' Execute the insert statement.
objConn.Execute szSQL, , adCmdText Or adExecuteNoRecords
Next i
' Close and destroy the Connection object.
objConn.Close
Set objConn = Nothing
End Sub

De todas formas te recomiendo q revises estos enlaces:

COMO: Usar ADO con datos de Excel desde Visual Basic o desde VBA
http://support.microsoft.com/kb/257819/es

Ejemplos de conexiones
http://www.erlandsendata.no/english...t=envbadac

Ejemplos de conexiones
http://www.able-consulting.com/tech.htm

Saludos,
KL

"Fabian" wrote in message
news:
Hola a todos!
Es posible copiar un rango de celdas de un libro abierto a otro libro,
estando este cerrado?
Gracias.






Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida