Mil gracias tengo 3 preguntas más.
1 Hay forma de que el nombre lo pueda tomar de la celada te explico como esta.
Tengo un archivo con 100 tiendas las filtro por tienda 1 tienda 2 tienda 3 cada tienda viene en diferentes celdas la intención es poder copiar lo más fácil la información de la celdas.
2 Si o se puede estoy tratando de temporizar el macro con el siguiente código.
Dim tiempo As Date
Dim contador As Integer
Sub IniciaOnTime()
'controla la repetición y la cadencia
Dim allea As Integer
'repetición cada 2 segundos
tiempo = Now + TimeSerial(0, 0, 60)
'llama a esta misma macro en el tiempo estipulado
Application.OnTime tiempo, "IniciaOnTime"
'controlamos el final de la repetición
contador = contador + 1
'mientras el contador sea menor a 6 ejecutamos la rutina principal
'cuando lleguemos a 6 interrumpimos la repetición
If contador < 6 Then
Run "MacroPrincipal"
Else
Run "CancelaOnTime"
End If
End Sub
Sub CancelaOnTime()
'ejecuta el final de la repetición y reinicia el contador
Application.OnTime tiempo, "IniciaOnTime", , False
contador = 0
End Sub
Sub MacroPrincipal()
Sheets("datos").Select
nombre = InputBox("Qué nombre desea poner a la nueva hoja con los datos filtrados???")
If nombre = "" Then Exit Sub
Sheets.Add after:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = nombre
Sheets("datos").Select
Range("a1").CurrentRegion.Copy
Sheets(nombre).Range("a1").PasteSpecial Paste:=xlValues
Cells.EntireColumn.AutoFit
MsgBox "DATOS COPIADOS A LA HOJA: " & nombre
ActiveSheet.ShowAllData
End Sub
Pero me da error en el active shet
3 Quiero mantener el formato original estoy ocupando
Cells.EntireColumn.AutoFit
Pero no me funciona en el temporizador.