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 similare

Leer las respuestas

#16 Héctor Miguel
06/05/2008 - 23:54 | Informe spam
hola, Carlos !

La idea en cuanto al autonumerico es que... sera igual... los “n” registros que consulte.
Y asi cuando otro usuario requiera hacer una nueva consulta, esta sera la ...



cambia esta parte del codigo:

With .Offset(, -1).Resize(Consultas)
.Value = Evaluate("row(" & .Address & ")-1")
End With

por esta otra:

With .Offset(, -1).Resize(Consultas)
.Value = Application.Max(.Parent.Range("a:a")) + 1
End With

saludos,
hector.
Respuesta Responder a este mensaje
#17 CARLOS CARNERO
07/05/2008 - 00:29 | Informe spam
Héctor:

La idea en cuanto al autonumérico es que por ejemplo en la hoja
“CONSULTA” ingreso en las celdas B1:C2 las consultas que el usuario
“JUAN” (B1 y B2) realiza ingresando el código de los archivos
documentarios ASF y AMU, el proceso de la macro me lo pegara en la
hoja llamada “REGISTROS” A2:C3, siendo la columna “A” (el correlativo)
y es acá el detalle que las celda A1=1, hasta acá esta Ok, pero A2
debería ser también 1 y no 2. ¿Por qué? Porque cuando otro usuario por
citar “PEDRO” consulte “n” archivos documentarios, entonces esta será
la segunda consulta y por tanto en la celda A3 será igual a 2 por los
“n” registros que consulte. Y así cuando otro usuario requiera hacer
una nueva consulta, esta será la tercera.

Saludos,

Carlos
Respuesta Responder a este mensaje
#18 Héctor Miguel
07/05/2008 - 01:35 | Informe spam
Carlos:

"esta" consulta la has "colgado" ya 3 veces...
y tienes ya una propuesta "colgando" de la primera... no la has visto ?
(aparecio 4 minutos despues de que "colgaste" la segunda) <\°|°/>

saludos,
hector.
Respuesta Responder a este mensaje
#19 CARLOS CARNERO
07/05/2008 - 16:47 | Informe spam
On 6 mayo, 18:35, "Héctor Miguel"
wrote:
Carlos:

"esta" consulta la has "colgado" ya 3 veces...
y tienes ya una propuesta "colgando" de la primera... no la has visto ?
(aparecio 4 minutos despues de que "colgaste" la segunda)    <\°|°/>

saludos,
hector.



Hector muy buenos días: Caracoles y mil disculpas. Lo que pasa que
ayer no visualizaba mi respuesta, entonces sali de la conexión de
internet y volvi a entrar y nada, no visualizaba. Así que pense e
intente varias veces, pero igual con el mismo resultado y me propuse
que hoy iba a ver si ingresaba mi respuesta lo cual ya es conocido y
por tanto reitero mis disculpas por el inconveniente.

En cuanto al tema en referencia, PERFECTO AMIGO!!!! quedo estupendo,
así como este es un ejemplo ó un extracto del programita de Archivo
documentario que tengo y lo vengo desarrollando (sobretodo con la
valiosa e invalorable ayuda de tu persona y del foro), voy a
trasladarlo y a realizar algunas modificaciones.

Una vez más, muchas gracias y saludos desde el Perú,

Carlos Carnero
Respuesta Responder a este mensaje
#20 CARLOS CARNERO
08/05/2008 - 18:57 | Informe spam
Buenos días Héctor:

He traslado el ejemplo a mi programita antes mencionado, entonces el
“detalle” está solucionado (Consulta!B18:C32) sólo que en el ejemplo
yo ingresaba al usuario directamente en cada fila, entonces he tratado
de buscar algunas opciones, para que los datos del encabezado que se
encuentran exactamente en las celdas H8, D9, D11 y D13, que
corresponden a la fecha, tipo de solicitud, usuario 1 y usuario2
respectivamente, usando una condicional “=SI”, si existe el código del
tema lo iguale a las celdas antes mencionadas, para que luego se
peguen en la Hoja “REGISTROS” tal como se hace con el “detalle”, pero
luego de procesar la macro y como se definió, esta borra estas
consultas, lo cual está bien, sólo que pierdo la formula de la
condicional que jalaba los datos del encabezado.

El objetivo sería finalmente que en la hoja de REGISTROS tenga estos
datos como primera fila y en las columnas respectivas por ejemplo:
A2=macro autonumerico, (esta ok), B2= Consulta!$H$8, C2= Consulta!$D
$9, D2= Consulta!$D$11, E2= Consulta!$D$13, F2=Código del Tema (esta
ok, solo que ahora está en la columna C ó en este caso en la celda
C2).

En la siguiente fila:
A3=macro autonumerico, (esta ok), B3= Consulta!$H$8, C3= Consulta!$D
$9, D3= Consulta!$D$11, E3= Consulta!$D$13, F3=El siguiente código del
Tema (esta ok, solo que ahora está en la columna C ó en este caso en
la celda C3) y asi sucesivamente.


Finalmente me he encontrado con dos problemas adicionales que había
omitido:

1. Ambas hojas están protegidas y solo algunas celdas están
habilitadas a efecto de generar la consulta.
2. Tengo dos combox de cuadro combinado (que identifica a los
usuarios), pero observo que al pulsar el enter, no se ejecuta la
acción.

Mil gracias y disculpa si involuntariamente no soy claro.

Saludos,

Carlos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida