Hola @RubenDario
Faltaría que en cada línea dentro del With le pongas un punto al inicio
With Hoja1
.Range("B6:B18,F6:F18,J6:J18").Select
.Range("J6").Activate
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.Selection.ClearContents
.Range("A1").Select
End With
Sin embargo, lo que yo haría (si fuese mi proyecto)... te ofrezco varias soluciones.
No asignarlo a una combinación de teclas, mejor ponerlo en una forma o botón.
Modificar tu libro con la app Custom UI Editor o similar y adicionar un botón en el Ribbon, estará visible solo cuando el libro esté activo.
Al principio de tu código pondría algo como: If Thisworkbook.Name <> ActiveWorkbook.Name Then Exit sub
Por
DiegoPC, · publicado
Buenas tardes, espero puedan ayudar... De ante mano muchas gracias.
-Tengo una macro que me copia la hoja en la cual trabajo y la renombra (Perfecto)**
Lo que necesito:
-Mensaje Yes/No "¿Desea guardar e Imprimir esta solicitud?"
-No: sigo trabajando, Yes: Copia hoja, guarda e imprime.
-Y por ultimo que limpie las cerdas de la hoja matriz.
Estas:
Range("D10:F10,A13:A28,C13:F28").Select
Range("D10:F10,A13:A28,C13:F28,A49:A64,C49:F64").Select
Selection.ClearContents
Observación: deseo bloquear la hoja pero con lo que tengo ya trabajado, me da un error.
GRACIAS POR SU AYUDA
Macro que copia y renombra:
Sub Botón4_Haga_clic_en()
Dim hoja As Worksheet
Dim existe As Boolean
Dim nueva As String
nueva = ActiveSheet.Name & Sheets.Count - 1
If nueva = Empty Then Exit Sub
For Each hoja In Worksheets
If hoja.Name = nueva Then existe = True
Next hoja
Application.DisplayAlerts = False
If existe = False Then
Sheets("Solicitud No.").Copy after:=Sheets(Sheets.Count)
With ActiveSheet
.Name = nueva
.Tab.Color = 16711680
.Shapes("Button 1").Delete
End With
MsgBox "Se Guardo Correctamente"
Sheets("Solicitud No.").Select
End If
Application.DisplayAlerts = True
Exit Sub
MsgBox "Ya existe una hoja con ese nombre."
End Sub