Rangos y seleccion en VB
Publicado por John (5 intervenciones) el 17/01/2018 17:49:32
Muy bue@os días/tardes/noches
El motivo del presente es para que me ayuden de alguna manera diciéndome si existe alguna manera de simplificar este código:
Ya que es mucho tiempo en realizar uno por uno.
La idea es que las listas desplegables se borren si la anterior cambia, pero el problema es que están en tablas y los rangos no me funcionan bien, ademas si uso rangos de celdas estas pueden variar según se aumente o disminuya la tabla.
*Los valores de las listas desplegables dependen de otras tablas.
Esperando su ayuda.
Saludos.
El motivo del presente es para que me ayuden de alguna manera diciéndome si existe alguna manera de simplificar este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Private Sub Workbook_Open()
Sheets("Fechas de pago").ScrollArea = "$D$5:$E$34"
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$5" Then Range("$E$5").ClearContents
If Target.Address = "$E$5" Then Range("$F$5").ClearContents
If Target.Address = "$D$6" Then Range("$E$6").ClearContents
If Target.Address = "$E$6" Then Range("$F$6").ClearContents
If Target.Address = "$D$7" Then Range("$E$7").ClearContents
If Target.Address = "$E$7" Then Range("$F$7").ClearContents
If Target.Address = "$D$8" Then Range("$E$8").ClearContents
If Target.Address = "$E$8" Then Range("$F$8").ClearContents
If Target.Address = "$D$9" Then Range("$E$9").ClearContents
If Target.Address = "$E$9" Then Range("$F$9").ClearContents
If Target.Address = "$D$10" Then Range("$E$10").ClearContents
If Target.Address = "$E$10" Then Range("$F$10").ClearContents
If Target.Address = "$D$11" Then Range("$E$11").ClearContents
If Target.Address = "$E$11" Then Range("$F$11").ClearContents
If Target.Address = "$D$12" Then Range("$E$12").ClearContents
If Target.Address = "$E$12" Then Range("$F$12").ClearContents
If Target.Address = "$D$13" Then Range("$E$13").ClearContents
If Target.Address = "$E$13" Then Range("$F$13").ClearContents
If Target.Address = "$D$14" Then Range("$E$14").ClearContents
If Target.Address = "$E$14" Then Range("$F$14").ClearContents
If Target.Address = "$D$15" Then Range("$E$15").ClearContents
If Target.Address = "$E$15" Then Range("$F$15").ClearContents
If Target.Address = "$D$16" Then Range("$E$16").ClearContents
If Target.Address = "$E$16" Then Range("$F$16").ClearContents
If Target.Address = "$D$17" Then Range("$E$17").ClearContents
If Target.Address = "$E$17" Then Range("$F$17").ClearContents
If Target.Address = "$D$18" Then Range("$E$18").ClearContents
If Target.Address = "$E$18" Then Range("$F$18").ClearContents
If Target.Address = "$D$19" Then Range("$E$19").ClearContents
If Target.Address = "$E$19" Then Range("$F$19").ClearContents
If Target.Address = "$D$20" Then Range("$E$20").ClearContents
If Target.Address = "$E$20" Then Range("$F$20").ClearContents
If Target.Address = "$D$21" Then Range("$E$21").ClearContents
If Target.Address = "$E$21" Then Range("$F$21").ClearContents
If Target.Address = "$D$22" Then Range("$E$22").ClearContents
If Target.Address = "$E$22" Then Range("$F$22").ClearContents
If Target.Address = "$D$23" Then Range("$E$23").ClearContents
If Target.Address = "$E$23" Then Range("$F$23").ClearContents
If Target.Address = "$D$24" Then Range("$E$24").ClearContents
If Target.Address = "$E$24" Then Range("$F$24").ClearContents
If Target.Address = "$D$25" Then Range("$E$25").ClearContents
If Target.Address = "$E$25" Then Range("$F$25").ClearContents
If Target.Address = "$D$26" Then Range("$E$26").ClearContents
If Target.Address = "$E$26" Then Range("$F$26").ClearContents
If Target.Address = "$D$27" Then Range("$E$27").ClearContents
If Target.Address = "$E$27" Then Range("$F$27").ClearContents
If Target.Address = "$D$28" Then Range("$E$28").ClearContents
If Target.Address = "$E$28" Then Range("$F$28").ClearContents
If Target.Address = "$D$29" Then Range("$E$29").ClearContents
If Target.Address = "$E$29" Then Range("$F$29").ClearContents
If Target.Address = "$D$30" Then Range("$E$30").ClearContents
If Target.Address = "$E$30" Then Range("$F$30").ClearContents
If Target.Address = "$D$31" Then Range("$E$31").ClearContents
If Target.Address = "$E$31" Then Range("$F$31").ClearContents
If Target.Address = "$D$32" Then Range("$E$32").ClearContents
If Target.Address = "$E$32" Then Range("$F$32").ClearContents
If Target.Address = "$D$33" Then Range("$E$33").ClearContents
If Target.Address = "$E$33" Then Range("$F$33").ClearContents
If Target.Address = "$D$34" Then Range("$E$34").ClearContents
If Target.Address = "$E$34" Then Range("$F$34").ClearContents
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveSheet.ScrollArea = "$D$5:$E$34" Then
If Target.Offset(, -1) = "" Then Target.Offset(-1).Select
End If
End Sub
La idea es que las listas desplegables se borren si la anterior cambia, pero el problema es que están en tablas y los rangos no me funcionan bien, ademas si uso rangos de celdas estas pueden variar según se aumente o disminuya la tabla.
*Los valores de las listas desplegables dependen de otras tablas.
Esperando su ayuda.
Saludos.
Valora esta pregunta
0