Códigos para automatizar una macro, ejecutarla automáticamente con unas condiciones
Hola bueno gracias por leer esta pregunta.
nesecito que me ayuden con algunos codigos o que me corrijan o me digan si me falta algo o en donde se necesite para automatizar una macro es decir hacer k la macro se ejecute con un pra de condiciones sin tener que precionar el el acceso directo (Ctrl+w), con las referncias de dos celdas de con las funciones diasem y hora para que la macro se ejecute al ser el dia de la semana 7 y la hora del dia las 4:00p.m.kiero k sea algo haci como esta funcion [=si(y(ahora=7,hora=16),ejecutar la macro,nada hasta k sea el tiempo especifico)bueno lo k llevo es esto:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
ActiveSheet.Range("L6").Calculate
If Range("L6") = 1 Then
Sheets("Inventario").Select
Range("B3:B350").Select
Selection.Copy
Range("C3:C350").Select
Range("C350").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Hoja1").Select
Range("C3:C700").Select
Application.CutCopyMode = False
Selection.Copy
Range("D3:D700").Select
Range("D700").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E3:J700").Select
Range("E700").Activate
Application.CutCopyMode = False
Selection.ClearContents
Sheets("Lunes").Select
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
ActiveSheet.Next.Select
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Sheets("Miercoles").Select
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 1
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Sheets("Jueves").Select
ActiveWindow.ScrollColumn = 1
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Sheets("Viernes").Select
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Sheets("Sabado").Select
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Range("B5").Select
End If
End Sub
nesecito que me ayuden con algunos codigos o que me corrijan o me digan si me falta algo o en donde se necesite para automatizar una macro es decir hacer k la macro se ejecute con un pra de condiciones sin tener que precionar el el acceso directo (Ctrl+w), con las referncias de dos celdas de con las funciones diasem y hora para que la macro se ejecute al ser el dia de la semana 7 y la hora del dia las 4:00p.m.kiero k sea algo haci como esta funcion [=si(y(ahora=7,hora=16),ejecutar la macro,nada hasta k sea el tiempo especifico)bueno lo k llevo es esto:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
ActiveSheet.Range("L6").Calculate
If Range("L6") = 1 Then
Sheets("Inventario").Select
Range("B3:B350").Select
Selection.Copy
Range("C3:C350").Select
Range("C350").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Hoja1").Select
Range("C3:C700").Select
Application.CutCopyMode = False
Selection.Copy
Range("D3:D700").Select
Range("D700").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E3:J700").Select
Range("E700").Activate
Application.CutCopyMode = False
Selection.ClearContents
Sheets("Lunes").Select
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
ActiveSheet.Next.Select
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Sheets("Miercoles").Select
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 1
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Sheets("Jueves").Select
ActiveWindow.ScrollColumn = 1
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Sheets("Viernes").Select
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Sheets("Sabado").Select
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A3:B200").Select
Selection.ClearContents
Range("E3:F200").Select
Selection.ClearContents
Range("B5").Select
End If
End Sub
Respuesta de tavopz
1