Necesito ayuda para corregir y aumentar el código para mi Microsoft Excel

Querido Fernando,
Tal vez me recuerdas con. Yo soy el tipo que jamas contesto tu respuesta. Nuevamente necesito ayuda solo para corregir y aumentar el código que tu muy amablemente diseñaste. El problema es que el código solo fue para una hoja de trabajo y pues ahora me surge la necesidad de hacerlo extenso para todas las hojas de trabajo. ¿Me podrías decir que tengo que hacer ahora?
Este fue el código que me dijiste:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Hoja1").Range("D4").Value = Date
Sheets("Hoja1").Range("D5").Value = Time
Sheets("Hoja1").Range("D5").EntireRow.AutoFit
End Sub

1 respuesta

Respuesta
1
Si quieres que lo haga en todas las hojas, usa esta construcción:
For Each SHT In Sheets
SHT.Range("D4").Value = Date
SHT.Range("D5").Value = Time
SHT.Range("D5").EntireColumn.AutoFit
Next SHT
Espero que sea lo que necesitas y que contestes dentro de esta década ;)
Un abrazo!
Fernando
Mi duda es, ¿tengo seguir todos los siguientes paso y escribir el código tal cual es o necesito agregarle o hacer algo de más hoja por hoja?
1.- Ctrl+Shift+, (coma)
2.- Ctrl+Shift+. (punto)
3.- grabar el archivo
b.- Usando Visual Basic for Applications (VBA)
1.- (presiona Alt+F11)
2.-busca la hoja llamada "ThisWorkbook" 3.- doble click sobre ella.
4.- Copia el código siguiente y pégalo en el panel desplegado a la derecha de su Editor de Visual Basic:
For Each SHT In Sheets
SHT.Range("D4").Value = Date
SHT.Range("D5").Value = Time
SHT.Range("D5").EntireColumn.AutoFit
Next SHT
¿Esto es lo que debo de hacer?
Buinas...
Sólo tienes que reemplazar el código anterior con el nuevo.
Si tuviera que explicártelo de nuevo, sería:
b.- Usando Visual Basic for Applications (VBA)
1.- (presiona Alt+F11)
2.- busca la hoja llamada "ThisWorkbook"
3.- doble click sobre ella.
4.- Copia el código siguiente y pégalo en el panel desplegado a la derecha de su Editor de Visual Basic:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
For Each SHT In Sheets
SHT.Range("D4").Value = Date
SHT.Range("D5").Value = Time
SHT.Range("D5").EntireColumn.AutoFit
Next SHT
End Sub
(La primera parte que copiaste corresponde al procedimiento manual, usando atajos de teclado)
Hasta el próximo lustro! ;)
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas