Copiar consultas y pegar en registros

28/04/2008 - 17:06 por CARLOS CARNERO | Informe spam
Buenas días a todos: Tengo un problema y les agradeceré proporcionarme
una ayuda. Antes que nada he estado revisando acá en el foro los temas
relacionados, pero no llego a encontrar lo que busco, por lo que me
permitiré en describirlo ó graficarlo del modo más breve posible.
Tengo tres hojas: TABLA, CONSULTA y REGISTROS respectivamente.
En la hoja “TABLA” tiene tres columnas Código, Continente y País,
haciendo un total de 11 filas incluyendo el encabezado (A1:C11):
CODIGO CONTINENTE PAIS
AFS AFRICA SUDAFRICA
AFC AFRICA CONGO
AMP AMERICA PERU
AMU AMERICA USA
ASJ ASIA JAPON
EUI EUROPA ITALIA
EUE EUROPA ESPAÑA
EUF EUROPA FRANCIA
OCA OCEANIA AUSTRALIA
OCN OCEANIA NUEVA ZELANDIA


En la hoja de “CONSULTA” tengo cinco columnas (idéntico que en la hoja
“TABLA”), sólo que la primera columna (“A”) es un correlativo del
número de consultas a ejecutar y la columna “B” el usuario que lo esta
realizando (A1:B15).
En la columna “C” desde la fila 1 a la 15, tiene una lista desplegable
de validación de datos, que me recoge el CODIGO_PAIS y las demás
columnas el resultado lo obtengo con un simple BuscarV.
Entonces en la hoja “REGISTROS” tengo tres columnas (lo pongo como un
ejemplo). La columna “A” sería el correlativo del historial de las
consultas, la columna “B” el usuario que esta consultando mientras que
la celda C1 a C200, debería ejecutarse los registros consultados con
una macro desde la tabla “CONSULTA”.
EJEMPLO
Consulto 3 registros de los 15 habilitados hoja (CONSULTA), entonces
solo estos tres (B1:C3) deberían copiar en la hoja
“REGISTROS” (C1:C3). Luego vuelvo a ejecutar una nueva consulta pero
esta tiene ahora 8 registros de los 15 habilitados (CONSULTA),
entonces estos ocho registros debería copiarse y pegarse en la hoja
“REGISTROS” (B4:C11). Es en este momento que tengo el problema.
Estado ejecutando una macro, pero recalco en el problema, copia sólo
las tres primeras filas de la hoja CONSULTA y lo pega en la misma fila
de de registros B1:C3, cuando debería buscar la primera celda en
blanco de la columna B1:B200, la que en realidad sería B4: C11 .
Sub Carasonriente_Haga_clic_en()
'
' Carasonriente_Haga_clic_en Macro
'

'
Range("B1:B15").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlValues,
LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:=False).Activate
Range("B1:C3").Select
Range("B3").Activate
Selection.Copy
Sheets("REGISTROS").Select
Range("B1:B22").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlValues,
LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext,
MatchCase:= _
False, SearchFormat:=False).Activate
Selection.FindNext(After:=ActiveCell).Activate
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Range("B4").Select
End Sub


Gracias y saludos desde el Perú,

Carlos Carnero Gálvez
 

Preguntas similares