Que debo hacer para que el siguiente código funcione en todas las hojas de Excel. ?

El código siguiente forza a que se escriba en Mayúscula en una hoja de Excel. Funciona siempre y cuando el código se escriba para una hoja especifica. Lo que se requiere es que este código se escriba una sola vez y funcione para todas las hojas del libro. Saludos. Gracias.

Public Sub worksheet_change(ByVal target As Range)

If target.Cells.Count > 1 Or target.HasFormula Then Exit Sub
On Error Resume Next
Application.EnableEvents = False
target.Value = VBA.UCase(target.Value)
Application.EnableEvents = True
On Error GoTo 0
End Sub

1 respuesta

Respuesta
2

[Hola

Siguiendo con tu mismo código, solo pega esto en el módulo del libro (cuyo nombre por defecto es "ThisWorkBook"):

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal target As Range)
If target.Cells.Count > 1 Or target.HasFormula Then Exit Sub
On Error Resume Next
Application.EnableEvents = False
target.Value = VBA.UCase(target.Value)
Application.EnableEvents = True
On Error GoTo 0
End Sub

Comentas

Abraham Valencia

¡Gracias! por por responder. Problema solucionado.

Cordial saludo.

Deseo apliar mi pregunta para solicitar que modificación al código anterior habria que hacer para que cuando detecte celdas con formato de fecha no haga nada. Gracias.

Intenta así:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal target As Range)
If target.Cells.Count > 1 Or target.HasFormula Then Exit Sub
If target.NumberFormat = "m/d/yyyy" Then Exit Sub
On Error Resume Next
Application.EnableEvents = False
target.Value = VBA.UCase(target.Value)
Application.EnableEvents = True
On Error GoTo 0
End Sub

Saludos]

Abraham Valencia

Sr. Abraham

Que diferencia hay entre la línea que escribió y la siguiente :

IsDate(target.Value) = True

¿Es igual?

También te servirá, el mío evalúa si el formato usado en la celda corresponde a una fecha, el tuyo si el valor ingresado corresponde a una fecha.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas