Error en línea de selección de celda al final de código
Cumplí con tu recomendación
Set h2 = Sheets(1)
If h2.Range("N11") = "" Then 'Aqui bien, ahi mismo tiene la linea Seten este si le agrego h2. Me manda este errror
h2.Range("B11").Select
Entiendo que el objecto es la hoja1 pero esa esta ya en el Set de arriba
Set h2 = Sheets(1)
si coloco
Sheets(1). Range("B11").Selecttodo va bien pero con h2 no
Lo hago así
Set h2 = Sheets(1) 'coloco esta linea
h2.Range("b11").Select
End Suby todo bien. ¿porque tiene que ser si existe la Set mas arriba? Es decir que la Set a partir de cierta posicion, no tiene validez?
Te dejo el codigo donde estan las lineas
'Elimina objetos Shapes (formas) existentes en la hoja
Set h2 = Sheets(1) 'AQUI ESTA YA LA LINEA Set
If h2.Range("N11") = "" Then
'Establecer área de impresión
h2.PageSetup.PrintArea = "$B$1:$K$51"
h2.Shapes.Range(Array("uno", "dos", "tres", "cuatro", "imagen2", "Texto5", "imagen4")).Delete
'Por si hay datos en este rango y no los quiere en la copia, los eliminará pero tendrás Desproteger este rango en la hoja Copia
h2.Unprotect Password:="By Jot@" 'Desprotege la copia para ejecutar limpiesa en el rango
h2. Range("L1:AZ1500"). Clear 'puede cambiar el rango o desactivarlo si no lo necesita
Else
h2.Shapes.Range(Array("uno", "dos", "tres", "cuatro")).Delete
'Por si hay datos en este rango y no los quiere en la copia, los eliminará pero tendrás Desproteger este rango en la hoja Copia
h2.Unprotect Password:="By Jot@" 'Desprotege la copia para ejecutar limpiesa en el rango
h2. Range("W1:AZ1500"). Clear 'puede cambiar el rango o desactivarlo si no lo necesita
End If
'Proteger la copia completa totalmente
h2.Protect Password:="By Jot@", DrawingObjects:=True, Contents:=True, Scenarios:=True
h2.EnableSelection = xlNoSelection 'Restringe todo, seleccion y escritura
ActiveWorkbook.Protect Password:="By Jot@", Structure:=True, Windows:=True
'Guarda hoja como xlsx
ActiveWorkbook.SaveAs Filename:=cp & "\" & nbr & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook, ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWorkbook.Close
MsgBox "Archivo guardado en " & cp & "\" & nbr & ".xlsx"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Set h2 = Sheets(1) 'porque tambien aqui si ya está mas arriba?
H2.Range("b11").Select
End Sub
1 Respuesta
Respuesta de Dante Amor
2