Seleccionar registro y copiar2
Disculpa Luis, lo que sucede es que el ejemplo que te puse es para que en teoría me explicara mejor, pero no quise ofenderte, permite tratar de ser más claro, y modifique mi redacción:
Tengo una tabla con 20 registros (Hoja1) y 60 columnas.
Sin ningún problema, logro seleccionar a un registro especifico de un usuario especifico con todos sus datos, con el siguiente código.
Private Sub ComboBox1_Enter()
On Error Resume Next
ComboBox1.Clear
Hoja1.Activate
Report.Select
Range("B7").Select
Do While Not IsEmpty(ActiveCell)
ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
'MsgBox ActiveCell.Select
Loop
End Sub
lo que quiero hacer ahora es:
En la hoja2 tengo un formato, quiero que los datos del registro que seleccione, se pegen todos los datos en ese formulario o templete, pero en celdas especificas, por ejemplo:
El nombre completo en la fila-columna A8:D8
la dirección en la fila-columna a16:k16
el grado de estudios en la fila-columna a32:e32
el proceso en el que esta, la fila-columna c56:c56
y así sucesivamente de acuerdo al renglo que seleccione, a continuación te pongo un ejemplo del archivo de excel, el paip (|) viene siendo el inicio y fin de cada columna.
#| Nombre completo | direccion | rfc | telefono |
1| gerardo hdz sanchez | valle #33 |aaaj656576 |5531654154|
2| jose hdz schez | valle #39 |aaaj656576 |5531658484|
3| pedro hdz lopez | valle #42 |aaaj656576 |5565465646|
4| ricardo sanchez z | valle #233 |aaaj656576 |5568761332|
Tu me decías:
Experto:
Bueno, eso o arreglas utilizando una matriz de datos
toma el registro y lo pasa a una matriz de datos string así
matriz()=split(dato,"#")
En donde "dato" es una variable string a la cual le pasaste previamente el registro seleccionado en el combo
en donde "#" es el delimitador de campos del registro por ti seleccionado, debes modificarlo por si tienes otro, veo que en tu ejemplo pusiste " | " entonces cambia # por |
Así el registro
1| gerardo hdz sanchez | valle #33 |aaaj656576 |5531654154|
Contendrá 5 campos luego le pasas los datos a las celdas que desees utilizando el indice de matriz
ej:
A10=matriz(0)
C15=matriz(2)
G45=matriz(4)
Así.
Disculpa no se como defino una matriz, y el paip "|" es la columna, en las columnas no tengo ese dato, podrías por favor echarme una manita. Gracias de antemano.
Tengo una tabla con 20 registros (Hoja1) y 60 columnas.
Sin ningún problema, logro seleccionar a un registro especifico de un usuario especifico con todos sus datos, con el siguiente código.
Private Sub ComboBox1_Enter()
On Error Resume Next
ComboBox1.Clear
Hoja1.Activate
Report.Select
Range("B7").Select
Do While Not IsEmpty(ActiveCell)
ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
'MsgBox ActiveCell.Select
Loop
End Sub
lo que quiero hacer ahora es:
En la hoja2 tengo un formato, quiero que los datos del registro que seleccione, se pegen todos los datos en ese formulario o templete, pero en celdas especificas, por ejemplo:
El nombre completo en la fila-columna A8:D8
la dirección en la fila-columna a16:k16
el grado de estudios en la fila-columna a32:e32
el proceso en el que esta, la fila-columna c56:c56
y así sucesivamente de acuerdo al renglo que seleccione, a continuación te pongo un ejemplo del archivo de excel, el paip (|) viene siendo el inicio y fin de cada columna.
#| Nombre completo | direccion | rfc | telefono |
1| gerardo hdz sanchez | valle #33 |aaaj656576 |5531654154|
2| jose hdz schez | valle #39 |aaaj656576 |5531658484|
3| pedro hdz lopez | valle #42 |aaaj656576 |5565465646|
4| ricardo sanchez z | valle #233 |aaaj656576 |5568761332|
Tu me decías:
Experto:
Bueno, eso o arreglas utilizando una matriz de datos
toma el registro y lo pasa a una matriz de datos string así
matriz()=split(dato,"#")
En donde "dato" es una variable string a la cual le pasaste previamente el registro seleccionado en el combo
en donde "#" es el delimitador de campos del registro por ti seleccionado, debes modificarlo por si tienes otro, veo que en tu ejemplo pusiste " | " entonces cambia # por |
Así el registro
1| gerardo hdz sanchez | valle #33 |aaaj656576 |5531654154|
Contendrá 5 campos luego le pasas los datos a las celdas que desees utilizando el indice de matriz
ej:
A10=matriz(0)
C15=matriz(2)
G45=matriz(4)
Así.
Disculpa no se como defino una matriz, y el paip "|" es la columna, en las columnas no tengo ese dato, podrías por favor echarme una manita. Gracias de antemano.
1 Respuesta
Respuesta de Luis_P
1