Inputbox para seleccionar hoja y extraer datos

Buenas recién Dam me ayudo con el siguiente código

Sub copiar()

'Por.Dam

Application.ScreenUpdating = False

Application.DisplayAlerts = False

Set h1 = ThisWorkbook.Sheets("Hoja1")

u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1

If u < 10 Then u = 10

archivo = Application.GetOpenFilename

If archivo = False Then Exit Sub

Workbooks.Open archivo

Set l2 = ActiveWorkbook

Set h2 = l2.ActiveSheet h2.Range("A10:E48").Copy h1.Range("A" & u)

h2.Range("G10:AV48").Copy h1.Range("G" & u)

l2.Close

End Sub

que incorpora el Application.GetOpenFilename para abrir la ventana de búsqueda y seleccionar un archivo y copiar un rango de celdas en el libro principal

La pregunta es después que escojo el archivo como hacer para que aparezca un inputbox con las hojas del archivo seleccionado y en luego escribir EJ 1 si quiero sacar los datos de la hoja1 o escribo 2 o 3 ....

Muchas gracias de antemano

1 respuesta

Respuesta
1

Quedaría así

Sub copiar()
'Por.Dam
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set h1 = ThisWorkbook.Sheets("Hoja1")
u = h1.Range("A" & Rows.Count).End(xlUp).Row + 1
If u < 10 Then u = 10
archivo = Application.GetOpenFilename
If archivo = False Then Exit Sub
Workbooks.Open archivo
Set l2 = ActiveWorkbook
s = l2.Sheets.Count
num = InputBox("El archivo tiene: " & s & " hojas. Escribe el número de hoja a copiar", "COPIAR")
If num <> "" Then
 If num > 0 And num <= s Then
 Set h2 = l2.Sheets(Val(num))
 h2.Range("A10:E48").Copy h1.Range("A" & u)
 h2.Range("G10:AV48").Copy h1.Range("G" & u)
 End If
End If
l2.Close
End Sub

Dam

Sabes que la macro no copia ejecute el depurador y en esta linea

If num > 0 And num <= s Then

salta los pasos de copiar...

Por favor

Gracias

Cambia esta línea

If num > 0 And num <= s Then

Por esta

If Val(num) > 0 And Val(num) <= s Then

Excelente Dam quedo buenísima la macro!!!

Ahora intentare que me muestre en el inputbox el nombre de la hoja

1 Hoja1

2 base

3 hoja3

Tema solucionado Muchas gracias nuevamente!!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas