Macro Excel Buscar Hoja y copiar datos en otra Hoja de mi Libro Excel.

Necesito una Macro Excel de modo que me permite buscar una Hoja determinada dentro de un Libro y copiar los datos de una Rango de la misma a otra Hoja que yo le diga.

En este caso sería necesario habilitar un espacio en la Hoja4 en el que indicando un Nombre de Hoja, por ejemplo, ACS. MC, y pulsando un botón, la encuentre y seleccione el Rango A2:F779 de ACS. MC y me lo copie a la Hoja 4 en el Rango A5:F786. Así para todas las Hojas del Libro.

1 respuesta

Respuesta
1

Te mando mi solución con esta macro:

En una hoja llamada Hoja4 y en la celda E4 escribiremos el nombre de la hoja a buscar

Sub proceso()
'por luismondelo
c = 0
Sheets("hoja4").Select
mia = ActiveSheet.Name
valor = UCase(Range("e4").Value)
For Each hoja In ActiveWorkbook.Sheets
If UCase(hoja.Name) = UCase(mia) Then
MsgBox "no se puede usar la misma hoja para el copiado"
Exit Sub
End If
If UCase(hoja.Name) = valor Then
c = c + 1
hoja.Select
Range("a2:f779").Copy
Sheets("hoja4").Range("a5").PasteSpecial Paste:=xlValues
End If
Next
If c = 0 Then
MsgBox "esa hoja no existe"
End If
Sheets("hoja4").Select
Range("e4").ClearContents
End Sub

recuerda finalizar la consulta

Me da un error, subíndice fuera el intervalo.

Prueba ahora con esta y vigila que no tenas un option explicit que obliga a declarar variables. La macro la he probado y funciona perfectamente

Sub proceso()
'por luismondelo
c = 0
Sheets("hoja4").Select
mia = ActiveSheet.Name
valor = UCase(Range("e4").Value)
If valor = UCase(mia) Then Exit Sub
For Each hoja In ActiveWorkbook.Sheets
If UCase(hoja.Name) = valor Then
c = c + 1
hoja.Select
Range("a2:f779").Copy
Sheets("hoja4").Range("a5").PasteSpecial Paste:=xlValues
End If
Next
If c = 0 Then
MsgBox "esa hoja no existe"
End If
Sheets("hoja4").Select
Range("e4").ClearContents
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas