Listbox

22/10/2003 - 15:47 por Sancho | Informe spam
Hola a todos,
Necesito saber como hacer la celda activa de una hoja a traves del contenido
de un Listbox en el evento click.

Un saludo y muchas gracias.
 

Leer las respuestas

#1 Héctor Miguel
23/10/2003 - 00:35 | Informe spam
Hola, Sancho [¿Antonio FR?] !

... hacer la celda activa de una hoja a traves del contenido de un Listbox en el evento click.



no dices si el listbox esta
-o- 'contenido' en un formulario
-o- 'incrustado' en alguna hoja de calculo [barra de herramientas 'cuadro de controles']

'suponiendo' que el listbox tiene ya 'cargadas' las direcciones =>validas<= de 'esas' celdas...
pon en el evento '_Click' del control listbox

1.- si se refieren a celdas EN la hoja 'activa':
Range(ListBox1).Select
[quizas quieras cambiar el metodo Select 'por' Activate, en caso de rangos ya seleccionados]

2.- si se refieren a celdas EN OTRA/s hoja/s ['suponiendo' que las referencias son +/- 'Hoja2!B5', etc.]
a) usando el metodo Application.Goto [que 'requiere' referencias en el 'estilo' L1C1]:
Dim Referencia As String
ActiveCell.Activate ' 'suponiendo' que se trata de un objeto 'incrustado' en la hoja de calculo '
If InStr(ListBox1, "!") > 0 Then
Referencia = Left(ListBox1, InStr(ListBox1, "!")) & _
Range(Mid(ListBox1, InStr(ListBox1, "!") + 1)).Address(, , xlR1C1)
Application.Goto Reference:=Referencia
Else: Range(ListBox1).Select ' 'suponiendo' referencias 'combinadas' [hoja 'activa' y 'otra/s´] '
End If
b) activando 'primero' la hoja 'en cuestion' y despues la celda de referencia:
Dim Hoja As String, Rango As String
ActiveCell.Activate ' 'suponiendo' que se trata de un objeto 'incrustado' en la hoja de calculo '
If InStr(ListBox1, "!") > 0 Then
Hoja = Left(ListBox1, InStr(ListBox1, "!") - 1)
Rango = Mid(ListBox1, InStr(ListBox1, "!") + 1)
Worksheets(Hoja).Select
ActiveSheet.Range(Rango).Select
Else: Range(ListBox1).Select ' 'suponiendo' referencias 'combinadas' [hoja 'activa' y 'otra/s´] '
End If

'a falta' de datos mas 'concisos' [creo que] lo anterior te servira [al menos] como 'arranque' para adaptar a 'tu realidad' ;)
Saludos,
Héctor.

Preguntas similares