Vincular comentarios

15/12/2004 - 04:15 por Robert | Informe spam
Saludos a los expertos

Quisiera preguntar algo, a ver si alguien tiene la respuesta (aunque se de
algunos que seguro la tienen)

Tengo dos hojas de XL, en una de ellas tengo una tabla con datos y en la
otra hago una búsqueda con BuscarV. Funciona de lo lindo, pero quisiera
saber si hay alguna forma por medio de VBA, de que al encontrar el dato
buscado, también se muestre su comentario.

Es decir si yo tipeo en la hoja de búsqueda en la
celda A2 : =Buscarv(a1,Historial,13, falso), que en la celda A2 se pueda
ver el comentario que tiene la celda con el dato encontrado.

Espero haberme explicado.

Gracias de antemano por su atención.
 

Leer las respuestas

#1 Héctor Miguel
15/12/2004 - 08:56 | Informe spam
hola, Roberto !

... dos hojas ... una tabla con datos y ... una busqueda con BuscarV [...]
... alguna forma por medio de VBA, de que al encontrar el dato buscado, tambien se muestre su comentario.
... si yo tipeo en la hoja de busqueda en la celda A2 : =Buscarv(a1,Historial,13, falso)
... que en la celda A2 se pueda ver el comentario que tiene la celda con el dato encontrado.



[mientras aparecen mas sugerencias]... aqui te va una propuesta [algo] 'larga' :( pero... 'entendible' [espero] :))
seguramente habra [ciertas] condiciones/variaciones que requieran 'ajustes' al codigo, pero con los datos que 'apuntas'...
estos son los 'supuestos' [+/- 'fijos']...
1.- el rango ['Historial'] esta en 'la otra' hoja
2.- la columna 13 es [siempre] 'la ultima' columna de dicha base de datos [aqui pudiera requerir 'ajustes']
3.- [en la hoja 'de la busqueda']...
a) el dato 'a buscar' esta en 'A1'
b) la celda con la formula ['A2'] ->YA tiene 'su' comentario<- [la macro SOLO lo 're-tipea' -si existe 'el otro'-]
4.- la macro es 'larga' porque/para [estoy 'tratando'] que sean 'de provecho' [algunos] 'tips' para [p.e.]...
-> desplazar y [re]dimensionar rangos y 'detectar' filas/columnas, etc. etc. etc. ;)

si NO 'se entiende'... ¿comentas?
saludos,
hector.
=> no te olvides de 'especificar correctamente' los nombres de 'la hoja' y 'el rango de la tabla' ;)

en el modulo de codigo de 'la hoja' [donde se hace la busqueda] ==Private Sub Worksheet_Change(ByVal Target As Range)
Dim Hoja As String, Tabla As String, Base As String, Col As String, _
Fila_1 As Long, Fila_n As Long
Hoja = "Hoja2"
Tabla = "Historial"
If Target.Address = "$A$1" Then
If Not (IsError([a2])) Then
With Worksheets(Hoja)
With .Range(Tabla)
Fila_1 = .Row
With .Offset(, .Columns.Count - 1).Resize(, 1)
Base = "'" & Hoja & "'!" & .Address
Col = Mid(.Address, 2, InStr(2, .Address, "$") - 2)
Fila_n = Evaluate("Match(""" & [a2] & """," & Base & ",0)") + Fila_1 - 1
End With
End With
On Error GoTo SinComentarios
If .Range(Col & Fila_n).Comment.Text <> "" Then
[a2].Comment.Text .Range(Col & Fila_n).Comment.Text
Exit Sub
End If
End With
End If
SinComentarios:
[a2].Comment.Text "¡ No se encontró comentario !!!"
End If
End Sub

Preguntas similares