Cuadro combinado de Excel Urgente

08/11/2003 - 15:31 por Alberto | Informe spam
Saludos a Todos

El asunto es:En excel en el cuadro de formularios escojo
un cuadro combinado y en los cuadro de dialogos se me
indica a que celda puedo vincular la seleccion. Como solo
se puede escojer una celda, la pregunata es si puedo hacer
que esa celda varie cada vez que consulete en cuadro
combinado, es decir si por ejemplo en el cuadro combinado
la he vinculado a la celda A1, quisiera que la proxima vez
que consulte el cuandro combinado la respuesta sea la
celda A2 y la proxima la A3 hasta una celda limite de
por ejemplo A10..

Saudos y Gracias por la ayuda.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
12/11/2003 - 12:24 | Informe spam
Hola, Alberto ! => tarde :(( 'pero'... ¡sin sueño!!! :)) <
Mostrar la cita
[p.e.] 'hacer' que la celda 'vinculada' a la seleccion 'sea' la celda 'activa' ['dentro' del rango 'A1:A10']
suponiendo que...
1.- el 'origen' de los datos es el rango 'D1:D5' [pudiera ser un rango nombrado -estatico o dinamico-]
2.- al objeto [combo] le 'asignas' un nombre [en la caja de nombres] p.e. 'Combo_Móvil'
3.- agregue una 'validacion' [por si el usuario introduce -manualmente- un numero 'mayor' a los n_elementos del combo]
4.- agregue una 're-asignacion' a las teclas de 'navegacion' [por si se trata de una seleccion 'multiple']
[si la celda 'activa' -aun dentro de una seleccion 'multiple'- NO esta 'dentro' del rango... el combo NO 'estara operable']
==> esta 'tecnica' resulta util para 'evitar' los casos -en eventos- de: [p.e.] 'If Target.Count > 1 Then Exit Sub' <=
==> en el modulo de codigo de 'la hoja' <> ASEGURATE que el procedimiento del evento '_SelectionChange' NO SEA 'Private' <=Sub Worksheet_SelectionChange(ByVal Target As Range): On Error Resume Next
With Range("a1:a10").Validation: .Delete
.Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Formula1:="1", Formula2:="" & Me.Shapes("Combo_Móvil").ControlFormat.ListCount & ""
.ErrorTitle = "ERROR !!!": .ErrorMessage = "¡ 'Entre' 1 y n_elementos en el Combo !!!"
End With
With Me.Shapes("Combo_Móvil").ControlFormat
If Intersect(Target, Range("a1:a10")) Is Nothing Then GoTo NoLink
If Target.Count > 1 Then Asignar_Teclas Else Regresar_Teclas
If Intersect(ActiveCell, Range("a1:a10")) Is Nothing Then GoTo NoLink
.LinkedCell = "": .ListFillRange = "d1:d5": .ListIndex = ActiveCell
.LinkedCell = ActiveCell.Address: Exit Sub
NoLink:
.LinkedCell = "": .ListFillRange = ""
End With
End Sub

==> en un modulo de codigo 'normal' <=Option Private Module
Sub Asignar_Teclas()
With Application
.OnKey "~", "'Monitor_Teclas ""{Enter}""'": .OnKey "+~", "'Monitor_Teclas ""+{Enter}""'"
.OnKey "{Enter}", "'Monitor_Teclas ""{Enter}""'": .OnKey "+{Enter}", "'Monitor_Teclas ""+{Enter""'"
.OnKey "{Tab}", "'Monitor_Teclas ""{Tab}""'": .OnKey "+{Tab}", "'Monitor_Teclas ""+{Tab}""'"
End With
End Sub
Sub Regresar_Teclas()
With Application
.OnKey "~": .OnKey "+~": .OnKey "{Enter}": .OnKey "+{Enter}": .OnKey "{Tab}": .OnKey "+{Tab}"
End With
End Sub
Sub Monitor_Teclas(ByVal Teclas As String)
Regresar_Teclas
On Error GoTo Salir
Application.EnableEvents = False
SendKeys Teclas, True
Application.EnableEvents = True
Call Hoja1.Worksheet_SelectionChange(Selection)
Salir:
Application.EnableEvents = True
End Sub

saludos,
Héctor.
#2 Héctor Miguel
12/11/2003 - 12:32 | Informe spam
se me 'chispotio' [de nuevo] un dato 'importante'...

1.- el 'objetivo' de que el procedimiento del evento '_SelectionChange' NO sea privado es...
poder 'llamarlo' -de nuevo- en la macro de la 're-ejecucion' de las 'teclas de navegacion'
puesto que al tratarse de una seleccion 'multiple', al navegar por la seleccion NO se 're-dispara'
2.- el 're-llamado' del evento es 'a traves' del 'nombre-codigo' de 'la hoja' [suponiendo 'Hoja1']
'notar' la linea [antes de la 'etiqueta' 'Salur:' en la macro 'Monitor_Teclas'
=> Call Hoja1.Worksheet_SelectionChange(Selection) <
saludos,
Héctor.
#3 Alberto
12/11/2003 - 14:37 | Informe spam
Gracias por tu ayuda Hector...

voy aplicar tu sugerencia... haber como me va...

gracis de nuevo...

Saludos a los noctambulos.
Mostrar la cita
sueño!!! :)) <>
Mostrar la cita
seleccion ... solo se puede escojer una celda
Mostrar la cita
cuadro combinado
Mostrar la cita
hasta ... A10
Mostrar la cita
seleccion 'sea' la celda 'activa' ['dentro' del
rango 'A1:A10']
Mostrar la cita
ser un rango nombrado -estatico o dinamico-]
Mostrar la cita
de nombres] p.e. 'Combo_Móvil'
Mostrar la cita
introduce -manualmente- un numero 'mayor' a los
n_elementos del combo]
Mostrar la cita
de 'navegacion' [por si se trata de una
seleccion 'multiple']
Mostrar la cita
seleccion 'multiple'- NO esta 'dentro' del rango... el
combo NO 'estara operable']
Mostrar la cita
en eventos- de: [p.e.] 'If Target.Count > 1 Then Exit Sub'
<=>
Mostrar la cita
evento '_SelectionChange' NO SEA 'Private' <=>Sub Worksheet_SelectionChange(ByVal Target As Range): On
Error Resume Next
Mostrar la cita
AlertStyle:=xlValidAlertStop, Operator:=xlBetween, _
Mostrar la cita
("Combo_Móvil").ControlFormat.ListCount & ""
Mostrar la cita
1 y n_elementos en el Combo !!!"
Mostrar la cita
GoTo NoLink
Mostrar la cita
Regresar_Teclas
Mostrar la cita
Then GoTo NoLink
Mostrar la cita
= "d1:d5": .ListIndex = ActiveCell
Mostrar la cita
", "'Monitor_Teclas ""+{Enter}""'"
Mostrar la cita
ey "+{Enter}", "'Monitor_Teclas ""+{Enter""'"
Mostrar la cita
+{Tab}", "'Monitor_Teclas ""+{Tab}""'"
Mostrar la cita
{Enter}": .OnKey "{Tab}": .OnKey "+{Tab}"
Mostrar la cita
Ads by Google
Search Busqueda sugerida