Macro con nombre de hoja variable

Tengo una macro que me lleva los datos que quiero a otro libro pero en la macro la tengo que poner el nombre de la hoja con la que estoy trabajando, el caso es que son varias hojas con distintos nombres y queria que automaticamente me detectara el nombre de la hoja con la que estoy trabajando.

Lo tengo asi puesto:

Sub Copiar_datos_otro_libro()
ActiveSheet.Unprotect
Range("H21:J21").Select

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("c:\datos\cuentas\Indice.xls")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("hoja variable")
Set wsDestino = wbDestino.Worksheets("Hoja1")
'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
'rngDestino.Select
'Range(Selection, Selection.End(xlDown)).Select
'Range(Selection, Selection.End(xlToRight)).Select
With ThisWorkbook.Sheets("hoja variable").[y1].CurrentRegion
Set rngDestino = Workbooks.Open("c:\datos\cuentas\Indice.xls").Worksheets("Hoja1") _
.Cells(Rows.Count, "a").End(xlUp).Offset(1)
rngDestino.Resize(.Rows.Count, .Columns.Count) = .Value
rngDestino.Parent.Parent.Close True
End With
Selection.Copy
'Pegar datos en celda destino
'rngDestino.PasteSpecial xlPasteValues
'*******Se requiere un objeto*********
Application.CutCopyMode = False
'Guardar y cerrar el libro de Excel destino
'wbDestino.Save
'wbDestino.Close
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

1 respuesta

Respuesta
2

Si tu inquietud es la línea que dice:

Set wsOrigen = Worksheets("hoja variable")

Alli debes dejarla de este modo:

Set wwsOrigen = Worksheets(Activesheet.Name)

Sdos. Si esto resuelve tu consulta no olvides valorarla sino comenta para continuarla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas