
Resolver problema de variable de cadena
Publicado por Jose (1 intervención) el 02/10/2014 17:17:49
Hola:
Intento copiar hojas de un Libro Origen a otro Libro de Destino, pero que puedan ser copiada a las Hoja1, Hoja2 o cualquier hoja que se determine. Para ello he tratado de asignar a la variable Hoja="Hoja"+ Str(numero), pero esta no es reconocida en la sentencia Set wsDestino = wbDestino.Worksheets(Hoja). COMO puedo resolverlo. Se agradece cualquier sugerencia.
Sub CopiarCeldas()
'Definir objetos a utilizar
Dim wbDestino As Workbook, _
wsOrigen As Excel.Worksheet, _
wsDestino As Excel.Worksheet, _
rngOrigen As Excel.Range, _
rngDestino As Excel.Range
'Indicar el libro de Excel destino
Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "\LibroDestino.xlsx")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("Origen")
NumHoja = Str(1)
Hoja = "Hoja" + NumHoja
Set wsDestino = wbDestino.Worksheets(Hoja) ' NO RECONOCE VARIABLE HOJA
'Indicar la celda de origen y destino
Const celdaOrigen = "A1"
Const celdaDestino = "A1"
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
Set rngDestino = wsDestino.Range(celdaDestino)
'Seleccionar rango de celdas origen
rngOrigen.Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Pegar datos en celda destino
rngDestino.PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Guardar y cerrar el libro de Excel destino
wbDestino.Save
wbDestino.Close
Intento copiar hojas de un Libro Origen a otro Libro de Destino, pero que puedan ser copiada a las Hoja1, Hoja2 o cualquier hoja que se determine. Para ello he tratado de asignar a la variable Hoja="Hoja"+ Str(numero), pero esta no es reconocida en la sentencia Set wsDestino = wbDestino.Worksheets(Hoja). COMO puedo resolverlo. Se agradece cualquier sugerencia.
Sub CopiarCeldas()
'Definir objetos a utilizar
Dim wbDestino As Workbook, _
wsOrigen As Excel.Worksheet, _
wsDestino As Excel.Worksheet, _
rngOrigen As Excel.Range, _
rngDestino As Excel.Range
'Indicar el libro de Excel destino
Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "\LibroDestino.xlsx")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("Origen")
NumHoja = Str(1)
Hoja = "Hoja" + NumHoja
Set wsDestino = wbDestino.Worksheets(Hoja) ' NO RECONOCE VARIABLE HOJA
'Indicar la celda de origen y destino
Const celdaOrigen = "A1"
Const celdaDestino = "A1"
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
Set rngDestino = wsDestino.Range(celdaDestino)
'Seleccionar rango de celdas origen
rngOrigen.Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'Pegar datos en celda destino
rngDestino.PasteSpecial xlPasteValues
Application.CutCopyMode = False
'Guardar y cerrar el libro de Excel destino
wbDestino.Save
wbDestino.Close
Valora esta pregunta


0