Macro para saltarme con el tabulador diferentes columnas
Publicado por Unexes (4 intervenciones) el 16/08/2019 16:08:37
Buenas a tod@s.
Pido disculpas por si este tema no se corresponde con este foro al tratarse mi solicitud de una macro para Excel.
Veréis lo he buscado en la red y no he hallado la respuesta, así que recurro a vuestros conocimientos.
Necesito que en una hoja de Excel al utilizar el tabulador para introducir datos me desplace en unas determinadas columnas saltándose las que no me interesan.
Tengo el siguiente código que cuando se trata de una sola columna la que hay que saltarse funciona bien pero cuando el rango a saltarse es de por ejemplo 3 columnas juntas funciona mal o lo que es lo mismo (una columna Si, una columna NO) funciona, pero (una columna Si tres columnas No) no funciona.
Con este código:
Las columnas: B-D-F-H (No tabula se las salta) es correcto
La columna: I (Si tabula) ES INCORRECTO
Las columnas: J (No tabula se la salta) es correcto
He cambiado la siguiente linea poniéndole un determinado rango y no me funciona a pesar de haber hecho un monton de pruebas:
Como veis el rango lo he puesto para que las 3 columnas H-I-J me las salte con el tabulador, pero no me funciona
Tengo que decir que no encuentro la solución por mi mismo porque es mi primera macro y ando todavía empezando pero lo necesito para ahorrar tiempo en la introducción de datos.
¿Podéis ayudarme? Gracias a tod@s.
Pido disculpas por si este tema no se corresponde con este foro al tratarse mi solicitud de una macro para Excel.
Veréis lo he buscado en la red y no he hallado la respuesta, así que recurro a vuestros conocimientos.
Necesito que en una hoja de Excel al utilizar el tabulador para introducir datos me desplace en unas determinadas columnas saltándose las que no me interesan.
Tengo el siguiente código que cuando se trata de una sola columna la que hay que saltarse funciona bien pero cuando el rango a saltarse es de por ejemplo 3 columnas juntas funciona mal o lo que es lo mismo (una columna Si, una columna NO) funciona, pero (una columna Si tres columnas No) no funciona.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static sRg As Range
Dim ColumnOffset As Integer
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Union([B:B], [D:D], [F:F], [H:H], [I:I], [J:J])) Is Nothing Then
With Target
Application.EnableEvents = False
If Not sRg Is Nothing Then
If sRg.Column < .Column Then
ColumnOffset = 1
ElseIf .Column <> 1 Then
ColumnOffset = -1
End If
Else
ColumnOffset = 1
End If
.Offset(, ColumnOffset).Select
Application.EnableEvents = True
End With
End If
Set sRg = ActiveCell
End Sub
Con este código:
Las columnas: B-D-F-H (No tabula se las salta) es correcto
La columna: I (Si tabula) ES INCORRECTO
Las columnas: J (No tabula se la salta) es correcto
He cambiado la siguiente linea poniéndole un determinado rango y no me funciona a pesar de haber hecho un monton de pruebas:
1
If Not Intersect(Target, Union([B:B], [D:D], [F:F], ["H:J"])) Is Nothing Then
Tengo que decir que no encuentro la solución por mi mismo porque es mi primera macro y ando todavía empezando pero lo necesito para ahorrar tiempo en la introducción de datos.
¿Podéis ayudarme? Gracias a tod@s.
Valora esta pregunta


0