celdas

14/06/2004 - 05:06 por dijisa | Informe spam
hola:

manejo un grupo de personas de las cuales su nombre y rfc son de uso cotidiano para mi pero es bastante timepo el que se pierde en arrastrar y pegar las celdas, no existe algo que me pueda ayudar por ejempo:
si la columna A tiene los nombres y la columna B el rfc, como puedo con un numero indicarle a una celda que nesesito esos datos en una celda "n" y asi solo escribir de mi lista numeros y no arastrar y pegar
 

Leer las respuestas

#1 Héctor Miguel
14/06/2004 - 08:15 | Informe spam
hola, chicos !

dijisa escribio en el mensaje
... grupo de personas ... nombre y rfc son de uso cotidiano ... tiempo ... se pierde en arrastrar y pegar [...]
... columna A tiene los nombres y ... B el rfc, ... indicarle a una celda que nesesito esos datos [...]

David Canales escribio en el mensaje
Una alternativa es utilizar la funcion "buscarv". Estos dos sitios te explican bien como utilizarla [...]





si usas [solo] funciones de hoja de calculo [como buscarv, indice+coincidir, etc.]...
necesitaras 'tener preparado' [con tales funciones] el rango 'posible' para su 'llenado semi-automatico' :((
otra alternativa seria incrustar [en la hoja del 'llenado'] un combobox [barra de herramientas 'cuadro de controles']
y hacerlo 'flotante' [por codigo] y 'automatizar' el llenado una vez seleccionado algun nombre. ;)

te pego un ejemplo al final. =>pruebalo<= y... si cualquire duda [o informacion adicional]... ¿comentas?
saludos,
hector.
-
supuestos:
1.- la hoja con el listado de nombres y rfc's es la hoja1 y el listado empieza en a2
2.- la hoja que requiere el llenado automatico 'usa' el rango a2:a40 [nombres] y b2:b40 [rfc's]
en el modulo de codigo de 'la hoja' [que requiere el llenado automatico] ==Private Sub Worksheet_Activate(): ActualizarCombo: End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a2:a40")) Is Nothing Then
With Me.ComboBox1
If Target <> "" Then .Text = Target Else .ListIndex = 0
.Left = Target.Left: .Top = Target.Top - 1: .Visible = True
End With
Else: Me.ComboBox1.Visible = False
End If
End Sub
Private Sub ActualizarCombo(): Me.ComboBox1.Clear
With Worksheets("Hoja1")
Me.ComboBox1.List = .Range(.Range("a2"), .Range("a65536").End(xlUp)).Value
End With
With Me.ComboBox1: .AddItem "Seleccionar...", 0: .AddItem "Borrar": .ListIndex = 0: End With
End Sub
Private Sub ComboBox1_Change()
If Intersect(ActiveCell, Range("a2:b40")) Is Nothing Then Exit Sub
With Me.ComboBox1
If .ListIndex > 0 Then
If .ListIndex = .ListCount - 1 Then
Range(ActiveCell, ActiveCell.Offset(, 2)).ClearContents: .ListIndex = 0
ElseIf .Text <> ActiveCell Then
ActiveCell = .Text
ActiveCell.Offset(, 1) = Worksheets("Hoja1").Range("b" & .ListIndex + 1)
End If
ElseIf .ListIndex = 0 And ActiveCell <> "" Then
.Text = ActiveCell
End If: End With: SendKeys "{Esc}"
End Sub

Preguntas similares