Macro buscar-pegar

Me ha surgido un problema con una hoja de exel de registro de operaciones que estoy montando, me veo en la necesidad de ingresar datos de una hoja de calculo a otra y creo que la mejor opción es empleando una macro pero mi problema es que no se como programarla, si alguien me puede ayudar les agradecería mucho, el caso lo describo a contiuacion:
Tengo dos hojas en excel en un mismo libro, lo que busco es copiar un dato contenido en la hoja 1 para añadirlo a la hoja 2, en una fila determinada, ya que existen varias filas con diversos códigos de ingreso de operación y que están cotenidos en la columna A de la hoja 2 Lo que quiero que haga la macro es que busque el código de la columna A e ingrese el nuevo dato en la columna E
POR EJ
SI A1 en la hoja 1 vale SDF, entonces me ingrese el dato de la celda B2 ($200) de la hoja 1 en la correspondiente fila donnde esta contenido SDF en la columna E de la hoja 2
algo así como BUSCARV y pegar
Esta seria la hoja 1
        A          B
1    SDF       ----
2    ----       $200
ESTA SERIA LA HOJA DOS
        A          B        C           D          E        F        G        H        I       J       K
       cod   fecha   hora  cantidad  valor
1 KMN -- -- 5
2 SDF -- 5 8
3 DFG _ 2 6
4
Mi correo es [email protected]  si me pueden enviar una muestra de como programarla
gracias de antemano a quien me pueda colaborar
esquizofree

1 respuesta

Respuesta
1
- Dime como cambian A1=SDF y B2=200 en la Hoja1. Lo haces manual o vienen de otra hoja?
- ¿La hoja 1 mantiene siempre esa estructura donde el código está en la fila 1 y el monto en la fila 2?
Esquizofree,
Prueba esto:
1.- En la Hoja1, celda B1 copia lo siguiente: ="$"&"E"&"$"&BUSCARV(A1;Hoja2!A2:F4;6;0)
2.- En la hoja2, columna F pondremos las rutas desde la celda F2 para eso colocaremos la fórmula =+CELDA("fila";A2) y la copiamos hacia abajo
3.- Abre Visual Basic (con ALT+F11) e inserta un módulo nuevo por el menú Insertar Modulo.
4.- Alli vas a copiar este código:
Sub Pegalo()
'
' Pegalo Macro
' Macro grabada el 18/07/2008 por Richard Chacón
'
Dim Desde
Desde = Range("B1").Value
Sheets("Hoja2").Select
Range(Desde).Select
Sheets("Hoja1").Select
Range("B2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Hoja2").Select
End Sub

5.- Cierras Visual Basic y vuelves a Excel.
6.- Allí puedes crear un Botón y asignarle la Marcro.
Pruébalas y me avisas. [No olvides calificar]
HOLA experto.
Te doy mil gracias, tu macro hizo exactamente lo que quería hacer en la pregunta que formule.
Pero mi problema va más allá, creí que con esto podría editar y adecuar una macro más compleja pero veo que me equivoque, efectivamente la edite, asigne los valores correspondientes acorde a tu ejemplo pero solo me pega la primera celda ya que para pegar la segunda me indica un error, no se si me puedas colaborar e indicarme cual es mi error si deseas me puedes dar un correo electrónico yo te envío la hoja de excel por si te surgen dudas. Este es el código de la macro que edite:
Sub Pegalo()
'
' PEGARCIERRE1
' Macro grabada el 18/07/2008 por JULIAN ALZATE
'
Dim Desde
Desde = Range("T16").Value
Sheets("RESUMEN").Select
Range(Desde).Select
Sheets("CIERRE").Select
Range("D19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Desde = Range("V16").Value
Sheets("RESUMEN").Select
Range(Desde).Select AQUI ME MUESTRA EL PRIMER ERROR EN EL DEPURADOR de VB
Sheets("CIERRE").Select
Range("H19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Desde = Range("W16").Value
Sheets("RESUMEN").Select
Range(Desde).Select
Sheets("CIERRE").Select
Range("Q19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=Fals
Desde = Range("Y16").Value
Sheets("RESUMEN").Select
Range(Desde).Select
Sheets("CIERRE").Select
Range("V19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=Fals
Desde = Range("Z16").Value
Sheets("RESUMEN").Select
Range(Desde).Select
Sheets("CIERRE").Select
Range("V19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=Fals
Desde = Range("Z16").Value
Sheets("RESUMEN").Select
Range(Desde).Select
Sheets("CIERRE").Select
Range("D24").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=Fals
Desde = Range("AA16").Value
Sheets("RESUMEN").Select
Range(Desde).Select
Sheets("CIERRE").Select
Range("J24").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=Fals
Desde = Range("AB16").Value
Sheets("RESUMEN").Select
Range(Desde).Select
Sheets("CIERRE").Select
Range("Q24").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=Fals
Desde = Range("AB15").Value
Sheets("RESUMEN").Select
Range(Desde).Select
Sheets("CIERRE").Select
Range("X24").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("RESUMEN").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=Fals
End Sub
Prefiero ver el archivo... mándamelo a [email protected]
Te envíe un archivo con un ejemplo. Me avisas!

Añade tu respuesta

Haz clic para o