¿Cómo crear macros para buscar, copiar y pegar?

Problema

Esto es lo que quiero hacer. Tengo una hoja de trabajo con los datos del cliente por fila y también tengo una hoja de trabajo con una factura que quiero rellenar automáticamente con la información del cliente de la hoja de trabajo de datos.

Me gustaría crear una macro que busque el número de referencia, lo diga y copie la fila con los datos del cliente en la hoja de trabajo de la factura, donde tiraré cada campo necesario a la factura (que lo haré por mi cuenta).

Construí una macro que busca el número de referencia, selecciona la fila y la copio y pega en la otra hoja de trabajo. Mi problema es que cuando pongo un nuevo número de referencia en mi pequeño cuadro de búsqueda, hice que todavía busque el número de referencia con el que configuro la macro y que solo haga referencia a la fila inicial que configure la macro con datos :(

Ojalá pudiera decírselo a:

Busque un número de referencia, el cual copio el número de referencia y lo pego en Buscar en la otra hoja de cálculo, y luego presiono la tecla Mayús para seleccionar y copiar los datos y péguelo en la otra hoja de cálculo. Sigue haciendo referencia a los rangos iniciales y número de referencia.

Por favor ayuda.

Esto es lo que tengo hasta ahora. Soy una especie de noob. Todo el desplazamiento activo al final es el desplazamiento y pegado de la macro en mis facturas para poder extraer los datos más adelante.

 Range ("AM5: AS5"). Seleccione ActiveCell.FormulaR1C1 = "33629" Sheets ("Sheet2"). Seleccione Cells.Find (Qué: = "33629", After: = ActiveCell, LookIn: = xlFormulas, LookAt _: = xlPart, SearchOrder: = xlByRows, SearchDirection: = xlNext, MatchCase: = _ False, SearchFormat: = False) .Activar filas ("6: 6"). Seleccionar rango ("C6"). Activar selección. Copiar hojas ("Sheet1 (2) ". Seleccione ActiveWindow.SmallScroll Down: = 12 ActiveWindow.ScrollRow = 14 ActiveWindow.ScrollRow = 15 ActiveWindow.ScrollRow = 16 ActiveWindow. .ScrollRow = 21 ActiveWindow.ScrollRow = 22 ActiveWindow.ScrollRow = Perra ActiveWindow.ScrollRow = 24 ActiveWindow.ScrollRow = 25 ActiveWindowPerra de lacaza de laca por la fuerza = 26 ActiveWindow.ScrollRow = 27 ActiveWindow. .ScrollRow = 33 ActiveWindow.ScrollRow = 36 ActiveWindow.ScrollRow = 38 ActiveWindow.ScrollRow = 40 ActiveWindow.ScrollRow = 42 Act iveWindow.ScrollRow = 45 ActiveWindow.ScrollRow = 47 ActiveWindow.ScrollRow = 49 ActiveWindow.ScrollRow = 51 ActiveWindow.ScrollRow = Motivo de la persona ActiveWindow.ScrollRow = 59 ActiveWindow.ScrollRow = 60 ActiveWindow.ScrollRowRowRow = 64 ActiveWindow.ScrollRow = 63 ActiveWindow.ScrollRow = 63 ActiveWindow.Spollrow.ScrollRow = 64 ActiveWindow.ScrollRow = 63 ActiveWindow. ActiveWindow.ScrollRow = 70 ActiveWindow.ScrollRow = 71 ActiveWindow.ScrollRow = SoftRowRow = 74 ActiveWindow.ScrollRow = 73 ActiveWindow.ScrollRow = 74 ActiveWindow.ScrollRow = 75 ActiveWindow.ScrollRow = 76 ActiveWindow. ActiveWindow.ScrollRow = 80 ActiveWindow.ScrollRow = 82 ActiveWindow.ScrollRow = 83 ActiveWindow.ScrollRow = 84 ActiveWindow.ScrollRow = 85 ActiveWindow.ScrollRow = 87 ActiveWindow.ScrollRow = 88 ActiveWindow.ScrollRow = 89 ActiveWindow.ScrollRow = 90 ActiveWindow.ScrollRow = 91 ActiveWindow.ScrollRowP.P.P.P.P.P.P.P.P.P.P.P.P.P. = 98 ActiveWindow.ScrollRow = 99 ActiveWindow.ScrollRow = 100 ActiveWindow.ScrollRow = 101 ActiveWindow.ScrollRow = 102 ActiveWindow.ScrollRow = 104 ActiveWindow.perr. = 112 ActiveWindow.ScrollRow = 113 ActiveWindow.ScrollRow = 114 ActiveWindow.ScrollRow = 115 ActiveWindow.ScrollRow = 117 ActiveWindow.ScrollRow = 118 ActiveWindow.ptrolRow = 119 ActiveWindow.ScrollRow = 120 ActiveWindow. = 125 ActiveWindow.ScrollRow = 126 ActiveWindow.ScrollRow = 127 ActiveWindow.ScrollRow = 128 ActiveWindow.ScrollRow = 129 ActiveWindow.ScrollR ow = 130 ActiveWindow.ScrollRow = 131 ActiveWindow.ScrollRow = 132 ActiveWindow.ScrollRow = 133 ActiveWindow.ScrollRow = 134 ActiveWindow.ScrollRow = 137WindowsPolotsPolotoPaposRePoleraPaperoRePoleraPapinaPapelRowPolotoPaposRowPolotoPapagoRePoleraRePersonaPaposRowPol.com ScrollRow = 142 ActiveWindow.ScrollRow = 143 ActiveWindow.ScrollRow = 144 ActiveWindow.ScrollRow = 145 ActiveWindow.ScrollRow = 146 ActiveWindowRotRowRowRow = ScrollRow = 152 ActiveWindow.ScrollRow = 153 ActiveWindow.ScrollRow = 154 ActiveWindow.ScrollRow = 155 ActiveWindow.ScrollRow = 156 ActiveWindow.ScrollRowPlacos de recreo de campo de la comunidad. Seleccione ActiveSheet.Paste End Sub 

Solución

La lógica completa no está clara. Acabo de "modificar" su macro para que pueda comprender los cambios (aunque la macro completa puede modificarse mucho).

cuando inicie la macro, la macro le preguntará qué número desea buscar, allí escriba el número de factura e; .g. 33629

Pero tengo un problema ok. Se encuentra 33629 en la hoja 2 y se copia la fila completa.

vaya a sheet1 (2) y pegue la fila anterior en la fila donde la primera celda es A194 en la segunda hoja. ok hasta ahora

Pero cuando selecciona otro número en el que desea copiar la fila en la hoja 1 (2). Esto no está claro.

Le sugiero que guarde su libro original en un lugar seguro para poder recuperarlo.

a continuación, ejecute la macro y ver si está bien. Si está bien, responda mi pregunta en negrita sin eliminar arriba. La macro puede ser aún más modificada.

En la macro, he puesto un solo apóstrofe al principio de algunas líneas para que NO sean operables. Puedes eliminar estas líneas más tarde una vez que entiendas la macro

La macro en la etapa actual es

 Sub TEST () Dim j As Double j = InputBox ("escriba el número que desea, por ejemplo, 33629") 'Range ("AM5: AS5"). Seleccione' ActiveCell.FormulaR1C1 = "33629" Sheets ("Sheet2"). Seleccione Cells .Encuentre (Qué: = j, LookIn: = xlFormulas, LookAt _: = xlPart, SearchOrder: = xlByRows, SearchDirection: = xlNext, MatchCase: = _ False, SearchFormat: = False) .Activate 'Rows ("6: 6" ) .Seleccione 'Rango ("C6"). Active' Selection.Copy ActiveCell.EntireRow.Copy Worksheets ("sheet1 (2)"). Seleccione Range ("A194"). PasteSpecial End Sub 

Nota

Gracias a venkat1926 por este consejo en el foro.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos