¿Cómo evito que me salgan mensajes de error en una macro utilizando Visual Basic?
Esto es una parte de un código de reemplazos, es una macro
lo que deseo realizar es que no me salgan los cuadritos de errores, en este caso me sale un cuadro que si deseo actualizar los valores.
En este caso lo que deseo es que si la segunda fecha es la que debe buscar en una carpeta, si no la encuentra que me mande un msg box de que no encuentra la hoja de excel.
Private Sub CommandButton7_Click()
contador = 0
fecha1 = InputBox("Fecha que desea sustituir?", "ORIGEN", Now())
If fecha1 = Empty Then Exit Sub 'mejorar con revisión validez fecha
fecha2 = InputBox("Fecha nueva?", "DESTINO", Now())
If fecha2 = Empty Then Exit Sub 'mejorar con revisión fecha
'Le preguntarás al usuario por las fechas a sustituir y la nueva, y
If fecha2 Is Nothing Then
MsgBox (" No encuentro esta fecha")
Exit Sub
End If
'COMPLEJO PETROQUIMICO MORELOS
For Each c In Selection
buscar = Format(UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"))
If InStr(4, c.FormulaLocal, buscar, 1) <> 0 Then
c.Replace What:="[MORELOS_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"), Replacement:="[MORELOS_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "yyyy") & "_" & Format(fecha2, "dd")
contador = contador + 1
End If
Next
For Each c In Selection
buscar = Format(UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"))
If InStr(4, c.FormulaLocal, buscar, 1) <> 0 Then
c.Replace What:="[servicios_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"), Replacement:="[servicios_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "yyyy") & "_" & Format(fecha2, "dd")
contador = contador + 1
End If
Next
End Sub
Que si la fecha 2...(por la cual voy a remplazar no c encuentra.. Que me dispare un mensaje de error o un msgbox de que la fecha por la cual deseo remplazar noc encuentra... Ya que si realiza la acción le aparece una ventana de windows donde dice actualizar y tengo que darle muchos cancelar y es tedioso
espero me puedas ayudar!
lo que deseo realizar es que no me salgan los cuadritos de errores, en este caso me sale un cuadro que si deseo actualizar los valores.
En este caso lo que deseo es que si la segunda fecha es la que debe buscar en una carpeta, si no la encuentra que me mande un msg box de que no encuentra la hoja de excel.
Private Sub CommandButton7_Click()
contador = 0
fecha1 = InputBox("Fecha que desea sustituir?", "ORIGEN", Now())
If fecha1 = Empty Then Exit Sub 'mejorar con revisión validez fecha
fecha2 = InputBox("Fecha nueva?", "DESTINO", Now())
If fecha2 = Empty Then Exit Sub 'mejorar con revisión fecha
'Le preguntarás al usuario por las fechas a sustituir y la nueva, y
If fecha2 Is Nothing Then
MsgBox (" No encuentro esta fecha")
Exit Sub
End If
'COMPLEJO PETROQUIMICO MORELOS
For Each c In Selection
buscar = Format(UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"))
If InStr(4, c.FormulaLocal, buscar, 1) <> 0 Then
c.Replace What:="[MORELOS_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"), Replacement:="[MORELOS_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "yyyy") & "_" & Format(fecha2, "dd")
contador = contador + 1
End If
Next
For Each c In Selection
buscar = Format(UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"))
If InStr(4, c.FormulaLocal, buscar, 1) <> 0 Then
c.Replace What:="[servicios_" & UCase(Format(fecha1, "MMMM")) & "_" & Format(fecha1, "yyyy") & "_" & Format(fecha1, "dd"), Replacement:="[servicios_" & UCase(Format(fecha2, "MMMM")) & "_" & Format(fecha2, "yyyy") & "_" & Format(fecha2, "dd")
contador = contador + 1
End If
Next
End Sub
Que si la fecha 2...(por la cual voy a remplazar no c encuentra.. Que me dispare un mensaje de error o un msgbox de que la fecha por la cual deseo remplazar noc encuentra... Ya que si realiza la acción le aparece una ventana de windows donde dice actualizar y tengo que darle muchos cancelar y es tedioso
espero me puedas ayudar!
2 Respuestas
Respuesta de Elsa Matilde
1
Respuesta de emperador20
1