MPrado publicó en la clase Caso práctico: Crear un índice de todas las hojas hace 1 día
Mi solución ha sido esta
If resp = vbYes Then
Application.Dialogs(xlDialogWorkbookName).Show
hoja.Range("A2").Delete
End If
Puesto que en A1 va el título "ÍNDICE", bajamos una posición que es A2, esa es la hoja que se ha incorporado nueva, a la que le hemos cambiado el nombre en caso de que la respuesta es al Msgbox es Sí.
Si no supiera que sería A2, vería como guardaría la primera posición en una variable primeraPosición dentro del Bucle For i Next i con el primer valor de i y en la línea de código de borrar la línea cambiaría "A2" por la variable primeraPosición: hoja.Range( primeraPosición ).Delete
If resp = vbYes Then
Application.Dialogs(xlDialogWorkbookName).Show
hoja.Range("A2").Delete
End If
Puesto que en A1 va el título "ÍNDICE", bajamos una posición que es A2, esa es la hoja que se ha incorporado nueva, a la que le hemos cambiado el nombre en caso de que la respuesta es al Msgbox es Sí.
Si no supiera que sería A2, vería como guardaría la primera posición en una variable primeraPosición dentro del Bucle For i Next i con el primer valor de i y en la línea de código de borrar la línea cambiaría "A2" por la variable primeraPosición: hoja.Range( primeraPosición ).Delete
Respuestas
JuliaBravo490 respondió hace hace 1 día:
Excelente aporte, este tipo de mejoras ayudan mucho a fortalecer la lógica en VBA.