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

#6 Fabian
04/03/2005 - 16:25 | Informe spam
Gracias! KL
"KL" escribió en el mensaje
news:
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.
>>
>>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida