Anónimo
Activar y/o desactivar "bloq mayus" con una macro
Necesito activar y/o desactivar la tecla "bloq mayus" con una macro en excel... ¿me pueden ayudar?.
1 Respuesta
Respuesta de boumerang
1
1
boumerang, Vba
SendKeys "{CAPSLOCK}"
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
SendKeys "{CAPSLOCK}" 'Se activa Caps Lock
End If
ActiveCell.Offset(0, 1).Select
End Sub
-
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
SendKeys "{CAPSLOCK}" 'Se desactiva Caps Lock
End If
ActiveCell.Offset(0, 1).Select
End Sub
-
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
SendKeys "{CAPSLOCK}" 'Se activa Caps Lock
End If
ActiveCell.Offset(0, 1).Select
End Sub
-
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
SendKeys "{CAPSLOCK}" 'Se desactiva Caps Lock
End If
ActiveCell.Offset(0, 1).Select
End Sub
-
Tengo esta macro y me gustaría que además de poner el contenido de la celda en mayúsculas me activara el Bloq Mayus.
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
End If
ActiveCell.Offset(0, 1).Select
End Sub
Y también tengo esta macro y me gustaría que además de poner el contenido de la celda en minúsculas me desactivara el Bloq Mayus.
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
End If
ActiveCell.Offset(0, 1).Select
End Sub
Gracias!
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
End If
ActiveCell.Offset(0, 1).Select
End Sub
Y también tengo esta macro y me gustaría que además de poner el contenido de la celda en minúsculas me desactivara el Bloq Mayus.
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
End If
ActiveCell.Offset(0, 1).Select
End Sub
Gracias!
No me funciona, (en teoría debiera)... lo peor es que me activa todas las demás macro que tengo.
... no me das detalles para juzgar. En este caso, solamente puedo decirte: a mí si me funciona.
-
Pega tus Sub's directamente del editor VB, para que pueda analizarlo.
-
-
Pega tus Sub's directamente del editor VB, para que pueda analizarlo.
-
Las tengo en módulos separados, estas son las macros...
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "(CAPSLOCK)", True
End Sub
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "(CAPSLOCK)", True
End Sub
Sub Pagos()
' Pagos
' Acceso directo: Ctrl+Mayús+P
Columns("C:F").Select
Selection.EntireColumn.Hidden = True
Columns("I:K").Select
Selection.EntireColumn.Hidden = True
Columns("M:N").Select
Selection.EntireColumn.Hidden = True
Columns("P:P").Select
Selection.EntireColumn.Hidden = True
Columns("T:AH").Select
Selection.EntireColumn.Hidden = True
Columns("R").Select
Selection.EntireColumn.Hidden = True
End Sub
Sub Cierre()
' Cierre
' Acceso directo: Ctrl+Mayús+C
Columns("A:A").Select
Selection.EntireColumn.Hidden = True
Columns("C:C").Select
Selection.EntireColumn.Hidden = True
Columns("E:F").Select
Selection.EntireColumn.Hidden = True
Columns("S:AD").Select
Selection.EntireColumn.Hidden = True
Columns("AJ:AM").Select
Selection.EntireColumn.Hidden = True
Selection.AutoFilter Field:=2, Criteria1:=">=01-01-2010", Operator:=xlAnd
Selection.AutoFilter Field:=13, Criteria1:="=Preaprobado", Operator:=xlOr, Criteria2:="=Contraoferta"
Selection.AutoFilter Field:=17, Criteria1:="<>Rechazo Oferta", Operator:=xlAnd, Criteria2:="<>Carpeta Armada"
Selection.AutoFilter Field:=35, Criteria1:="="
Application.Goto Reference:="R1C1"
Range("B1").Select
Application.Goto Reference:="R1C2"
Selection.End(xlDown).Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Sub Movilizar()
Dim Ctrl As Office.CommandBarControl
For Each Ctrl In Application.CommandBars.FindControls(ID:=443)
Ctrl.Enabled = True
Next Ctrl
End Sub
Esta está al iniciar la planilla...
Private Sub Workbook_Open()
Dim Ctrl As Office.CommandBarControl
For Each Ctrl In Application.CommandBars.FindControls(ID:=443)
Ctrl.Enabled = False
Next Ctrl
End Sub
Probé tu método en una hoja nueva asignando la macro a una imagen y no pasaba nada, en la celda solo cambiaba de mayúsculas a minúsculas o al revés.
Gracias.
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "(CAPSLOCK)", True
End Sub
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "(CAPSLOCK)", True
End Sub
Sub Pagos()
' Pagos
' Acceso directo: Ctrl+Mayús+P
Columns("C:F").Select
Selection.EntireColumn.Hidden = True
Columns("I:K").Select
Selection.EntireColumn.Hidden = True
Columns("M:N").Select
Selection.EntireColumn.Hidden = True
Columns("P:P").Select
Selection.EntireColumn.Hidden = True
Columns("T:AH").Select
Selection.EntireColumn.Hidden = True
Columns("R").Select
Selection.EntireColumn.Hidden = True
End Sub
Sub Cierre()
' Cierre
' Acceso directo: Ctrl+Mayús+C
Columns("A:A").Select
Selection.EntireColumn.Hidden = True
Columns("C:C").Select
Selection.EntireColumn.Hidden = True
Columns("E:F").Select
Selection.EntireColumn.Hidden = True
Columns("S:AD").Select
Selection.EntireColumn.Hidden = True
Columns("AJ:AM").Select
Selection.EntireColumn.Hidden = True
Selection.AutoFilter Field:=2, Criteria1:=">=01-01-2010", Operator:=xlAnd
Selection.AutoFilter Field:=13, Criteria1:="=Preaprobado", Operator:=xlOr, Criteria2:="=Contraoferta"
Selection.AutoFilter Field:=17, Criteria1:="<>Rechazo Oferta", Operator:=xlAnd, Criteria2:="<>Carpeta Armada"
Selection.AutoFilter Field:=35, Criteria1:="="
Application.Goto Reference:="R1C1"
Range("B1").Select
Application.Goto Reference:="R1C2"
Selection.End(xlDown).Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Sub Movilizar()
Dim Ctrl As Office.CommandBarControl
For Each Ctrl In Application.CommandBars.FindControls(ID:=443)
Ctrl.Enabled = True
Next Ctrl
End Sub
Esta está al iniciar la planilla...
Private Sub Workbook_Open()
Dim Ctrl As Office.CommandBarControl
For Each Ctrl In Application.CommandBars.FindControls(ID:=443)
Ctrl.Enabled = False
Next Ctrl
End Sub
Probé tu método en una hoja nueva asignando la macro a una imagen y no pasaba nada, en la celda solo cambiaba de mayúsculas a minúsculas o al revés.
Gracias.
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "(CAPSLOCK)", True
End Sub
-
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "(CAPSLOCK)", False
End Sub
-
Checa la diferencia. Una linea es TRUE y la otra es FALSE
-
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "(CAPSLOCK)", True
End Sub
-
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "(CAPSLOCK)", False
End Sub
-
Checa la diferencia. Una linea es TRUE y la otra es FALSE
-
El true y el false es para que haga o no una pausa, al dejarlo en true me inhabilita toda acción hasta que recorre la macro completa, lo malo es que me activa otra macro, la de cierre...
No, ignoro el porque, pero al usar SendKeys "(CAPSLOCK)" me activa la macro cerrar.
Gracias de todas formas, ¿quieres qué puntúe y cierre?
Gracias de todas formas, ¿quieres qué puntúe y cierre?
Hay un detalle del que no me había percatado, al correr la macro (con llaves) la luz del bloq num parpadea, es muy rapido, pero se nota su titileo, y en la barra inferior de excel aparece MAYUS activo por 1 segundo, luego desaparece.
OK. En mi PC funciona, así como está este.
-
Saludos
-
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "{CAPSLOCK}", True
End Sub
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "{CAPSLOCK}", False
End Sub
-
Saludos
-
Sub Minusculas()
' Minus
' Acceso directo: CTRL + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = LCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "{CAPSLOCK}", True
End Sub
Sub Mayusculas()
'Mayus
'Acceso directo: Ctrl + Shift + M
dato = ActiveCell.Value
If VarType(dato) = 8 Then
ActiveCell.Value = UCase(dato)
End If
ActiveCell.Offset(0, 1).Select
SendKeys "{CAPSLOCK}", False
End Sub
- Compartir respuesta
- Anónimo
ahora mismo