Mensaje al abrir un archivo

Como puedo hacer para que al momento que abro un archivo Excel automáticamente revisé una columna predeterminada y si una o varias celdas de esa columna contiene una palabra, por ejemplo "error" me mande un mensaje diciéndome las celdas que la contienen esas palabra...
Gracias de antemano

1 Respuesta

Respuesta
1
Squalljead"
Supongamos que la columna que "posiblemente" contendrá la palabra "error" sea la columna A y que de las filas 1 a la 10 solamente, esto puede tener "muchas" variantes y por supuesto formas de resolverse, esto es solo para irnos entendiendo
Entras al libro donde quieras que aparezca el mensaje
Entras el Editor VBA (Alt+F11)
Dentro del explorador de proyectos, da un doble click donde dice ThisWorkbook
Asegurate de que te aparezca algo así
Private Sub Workbook_Open()
End Sub
en medio de estas dos lineas escribes
Private Sub Workbook_Open()
Dim strCeldas As String
'Es importante que selecciones la hoja correcta
WorkSheets("Hoja1").Select
If Range("A1").Value = "error" Then strCeldas = "Celda A1"
If Range("A2").Value = "error" Then strCeldas = strCeldas & ", " & "Celda A2"
If Range("A3").Value = "error" Then strCeldas = strCeldas & ", " & "Celda A3"
If Range("A4").Value = "error" Then strCeldas = strCeldas & ", " & "Celda A4"
.......
Aqui completas la serie, OJO, observa que son lineas completas
.......
If Range("A10").Value = "error" Then strCeldas = strCeldas & ", " & "Celda A10"
MsgBox "Las celdas con error son:" & vbCrLf & vbCrLf & strCeldas
End Sub
Otra forma podria ser
Private Sub Workbook_Open()
Dim strCeldas As String
Dim co1 As Integer
Worksheets("Hoja1").Select
For co1 = 1 To 10
If Cells(co1, 1).Value = "error" Then
strCeldas = strCeldas & " Celda " & Cells(co1, 1).Address(False, False)
End If
Next co1
MsgBox "Las celdas con error son:" & vbCrLf & vbCrLf & strCeldas
End Sub
He probado las dos formas y funcionan bien, si deseas el archivo de pruebas puedes solicitarlo a mi correo, saludos desde México..
Mauricio Baeza
[email protected]
Todo lo que no es dado es perdido
*==========================================*
La presente respuesta ha demandado un tiempo de lectura,
análisis, elaboración y redacción. A cambio, simplemente,
pretendo que te tomes un minuto para FINALIZARLA, si
hubiera satisfecho -en alguna medida- tu requerimiento.
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó.
Simplemente EXCELENTE
Hey gracias, te agradezco un montón, la segunda opción utilice.. y nada más le cambie unos datos pora hi pero casi nada... gracias gracias gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas