Copiar Columnas

14/12/2009 - 19:03 por JForero | Informe spam
Buenas tardes grupo

tengo un botón insertado en la hoja1, en la celda c4 tengo el número de id
del cliente.

en la hoja2 tengo en la columna A el número id del cliente

deseo con código a través del botón buscar el id del cliente en la hoja2 y
que me copie el contenido de las columnas:

H en la columna J iniciando en la celda j4
C en la columna K iniciando en la celda k4
G en la columna L iniciando en la celda l4
Q en la columna M iniciando en la celda m4
R en adelante (es decir lo que se encuentre en las columnas siguientes),
copiar en la columna N en adelante, ya que algunos registros tienen
diligenciadas más o menos columnas desde la R en adelante

el copiado debe ser en la hoja1

la otra situación es que pueden existir varios registros con el mismo número
de id de cliente, por lo que me debe pegar secuencialmente los datos de cada
registro encontrado.

mil gracias por la colaboración

Saludos
Jorgef,
 

Leer las respuestas

#1 Héctor Miguel
14/12/2009 - 22:39 | Informe spam
hola, Jorge !

tengo un boton insertado en la hoja1, en la celda c4 tengo el numero de id del cliente.
en la hoja2 tengo en la columna A el numero id del cliente
... codigo... buscar el id del cliente en la hoja2 y que me copie el contenido de las columnas:
H en la columna J iniciando en la celda j4
C en la columna K iniciando en la celda k4
G en la columna L iniciando en la celda l4
Q en la columna M iniciando en la celda m4
R en adelante (es decir lo que se encuentre en las columnas siguientes), copiar en la columna N en adelante
ya que algunos registros tienen diligenciadas mas o menos columnas desde la R en adelante
el copiado debe ser en la hoja1
la otra situación es que pueden existir varios registros con el mismo numero de id de cliente
por lo que me debe pegar secuencialmente los datos de cada registro encontrado...



usa los filtros avanzados por codigo para "refrescar" los datos que consultes en cada ocasion
(p.e.) suponiendo que:

-> en tu hoja2:
los titulos estan en la fila 1, por lo que tus registros inician en la fila 2
existen 26 columnas con detalles/datos/... que te interesa obtener (A:Z) <= o hasta donde corresponda a tu "etc." ???)
OJO: no es fuerza que todas estas columnas las rescates con los filtros avanzados, lo que si...
=> copia en la hoja1 solo los titulos de las columnas que requieras (EN EL ORDEN QUE LAS REQUIERAS)

-> en la hoja1:
a) pon en A1 el mismo titulo que tienes para los id's (hoja2 A1 ?, o el campo que requieras para filtrar)
b) en la celda A2 vas a "solicitar" el nombre/id/codigo/... que requieras consultar
c) en el rango J3:R3 vas a poner los mismos "titulos" que necesitas de la hoja2 (en el orden que los necesites)
d) copia/pega (o escribe) las siguientes lineas => en el modulo de codigo de la hoja1:
(haz un clic-secundario sobre la etiqueta con su nombre y selecciona "ver codigo")

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
Worksheets("hoja2").Range("a1").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Range("a1:a2"), _
CopyToRange:=Range("j3:r3"), _
Unique:=False
End Sub

OJO: toma nota de que esta linea del codigo:
CopyToRange:=Range("j3:r3"), _
deberas ajustarla a las columnas de tu "etc." (???)

tambien existen conversaciones que tratan el uso de filtros avanzados por codigo: http://tinyurl.com/ly8xh7

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares