Consulta varias hojas de excel
Hola tengo la siguiente macro:
Sub prueba()
Dim Datos As Range
Dim Nombre As String
Dim Existe As Boolean
Set Datos = Sheets("Hoja1").Range("a1").CurrentRegion
Nombre = Format(Date, "dddd dd-mm-yy")
On Error Resume Next
Existe = Sheets(Nombre).Name = Nombre
On Error GoTo 0
If Not Existe Then
With Sheets.Add(Sheets(1))
.Name = Nombre
.Tab.ColorIndex = 3
.Range("a1") = Date
.Range("a3") = "=Hoja1!e2=today()"
Datos.AdvancedFilter 2, .Range("a2:a3"), Range("a4")
.Range("a3") = "Hoy se vencen:"
With .Range("a" & Rows.Count).End(xlUp)(3)
.Formula = "=Hoja1!e2=today()+1"
Datos.AdvancedFilter 2, .Offset(-1).Resize(2), .Offset(1)
.Value = "Mañana se vencen:"
End With
End With
End If
Set Datos = Nothing
End Sub
Con esta macro consigo que los datos de la hoja 1 que caducan hoy aparezcan en la hoja nueva creada, pero el problema es que no solo hay datos en la hoja 1, sino también en la 2,3,4,5. ¿Cómo se puede modificar para que siga buscando en las otras hojas?
Sub prueba()
Dim Datos As Range
Dim Nombre As String
Dim Existe As Boolean
Set Datos = Sheets("Hoja1").Range("a1").CurrentRegion
Nombre = Format(Date, "dddd dd-mm-yy")
On Error Resume Next
Existe = Sheets(Nombre).Name = Nombre
On Error GoTo 0
If Not Existe Then
With Sheets.Add(Sheets(1))
.Name = Nombre
.Tab.ColorIndex = 3
.Range("a1") = Date
.Range("a3") = "=Hoja1!e2=today()"
Datos.AdvancedFilter 2, .Range("a2:a3"), Range("a4")
.Range("a3") = "Hoy se vencen:"
With .Range("a" & Rows.Count).End(xlUp)(3)
.Formula = "=Hoja1!e2=today()+1"
Datos.AdvancedFilter 2, .Offset(-1).Resize(2), .Offset(1)
.Value = "Mañana se vencen:"
End With
End With
End If
Set Datos = Nothing
End Sub
Con esta macro consigo que los datos de la hoja 1 que caducan hoy aparezcan en la hoja nueva creada, pero el problema es que no solo hay datos en la hoja 1, sino también en la 2,3,4,5. ¿Cómo se puede modificar para que siga buscando en las otras hojas?
1 respuesta
Respuesta de Roberto Alvarado