Bueno sí,
Leí en TODOEXCEL que tiene opciones de VBA que se le han propuesto.
Aunque desde mi punto de vista, como usted depende de la apreciación, (autorización, validación... Etc.) de alguien más, en un escenario de 12,000 celdas, entonces elegir cuales cambiar y cuales no, es un desafío, no complicado, aunque sí es un reto de entendimiento.
Por otro lado, si usted es el autor y no tiene inconveniente con usar una hoja Auxiliar, tal vez le conviene más usar una columna Auxiliar en su lugar. En esa columna usar la función ESFORMULA(), similar a lo que usó para el condicional, para saber si el contenido es una fórmula o un valor, así en consecuencia del resultado VERDADERO o FALSO traer al final el que desea, puede ser el valor que está escrito e incluso con un SI() + BUSCARV() + INDIRECTO() podría traer la fórmula de la lista que preparó previamente.
Pruebe e intente,
Saludos
Por
Israel Cassales, · publicado
Hola, tengo esta macro y poquisimo conocimientos del tema.
La macro deberia eliminar la hoja cuyo nombre se escriba en el InputBox nombre hoja, pero se detiene cuando deberia tomar el nombre de la hoja.
Sub EliminaCuenta()
Application.ScreenUpdating = True
Dim NombreHoja As String
Dim Entrada As String
Dim cuenta As Worksheet
Entrada = InputBox("Ingrese contraseña para continuar", "Proceso Protegido")
If Entrada = "nacho" Then
If MsgBox("Estas seguro de borrar una cuenta? No podrá recuperarse", vbQuestion + vbYesNo) = vbYes Then
NombreHoja = InputBox("Escriba un nombre de la cuenta:")
NombreHoja = cuenta<--Esta parte es donde se detiene la macro
If NombreHoja = "" Then Exit Sub
If Nombre.hoja <> "Index" And Nombre.hoja <> "Plantilla" And Nombre.hoja <> "Consolidado" And Nombre.hoja <> "Buscador" Then
cuenta.Delete
End If
End If
Else
MsgBox "Acceso Denegado", vbExclamation, "Acceso no autorizado"
End If
Application.ScreenUpdating = True
End Sub
Espero que puedan guiarme un poco para saber cual es el error.
Muchas gracias