La macro puede leer la hoja donde debe pegar
Hola Amigo;
Te agradecería que le echaras un vistazo a la macro que te adjunto, por ahora me funciona bien. Pero te agradecería que le echaras un vistazo y si consideras que es mejor poner otro tipo de código para alguna instrucción, por favor dímelo. Sobre todo teniendo en cuenta el comentario que te hago al final
Te explico lo que en teoría realiza la macro: Selecciono una fila de la hoja A y copio las primeras 20 celdas. Estas se pegan en la ultima fila libre de la hoja B. Para encontrar la ultima fila vacía de la hoja B, miro la columna C. Una vez encuentro al fila me coloco en columna A y pego solo los valores. Finalmente vuelvo a la hoja A y elimino la fila que previamente había seleccionado
Sub Macro1()
Range(Cells(Selection.Row, 1), Cells(Selection.Row, 20)).Copy
Sheets("Hoja B").Select
Range("C6").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Range("A" & ActiveCell.Row).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Hoja A").Select
Selection.EntireRow.Delete Shift:=xlUp
End Sub
El problema que tengo es el siguiente: esta macro traspaso datos de la hoja A a la hoja B, pero según sean los datos se traspasaran a la hoja C o a la hoja D. ES decir tendré que crear 3 macros y tener 3 botones en la hoja A (uno para cada hoja, B, C, D)
Lo que me preguntaba es si no hay alguna manera de hacerlo para que una sola macro y un solo botón, me sirva para todas las hojas ya que el nombre de la hoja donde deben traspasarse los datos siempre coincidirá con el valor de la celda de la columna D
No se si me he explicado bien... Veo tanto texto que me pierdo. Si quieres que sea más breve, dímelo que lo intentaré. Muchas gracias por tu tiempo
Te agradecería que le echaras un vistazo a la macro que te adjunto, por ahora me funciona bien. Pero te agradecería que le echaras un vistazo y si consideras que es mejor poner otro tipo de código para alguna instrucción, por favor dímelo. Sobre todo teniendo en cuenta el comentario que te hago al final
Te explico lo que en teoría realiza la macro: Selecciono una fila de la hoja A y copio las primeras 20 celdas. Estas se pegan en la ultima fila libre de la hoja B. Para encontrar la ultima fila vacía de la hoja B, miro la columna C. Una vez encuentro al fila me coloco en columna A y pego solo los valores. Finalmente vuelvo a la hoja A y elimino la fila que previamente había seleccionado
Sub Macro1()
Range(Cells(Selection.Row, 1), Cells(Selection.Row, 20)).Copy
Sheets("Hoja B").Select
Range("C6").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Range("A" & ActiveCell.Row).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Hoja A").Select
Selection.EntireRow.Delete Shift:=xlUp
End Sub
El problema que tengo es el siguiente: esta macro traspaso datos de la hoja A a la hoja B, pero según sean los datos se traspasaran a la hoja C o a la hoja D. ES decir tendré que crear 3 macros y tener 3 botones en la hoja A (uno para cada hoja, B, C, D)
Lo que me preguntaba es si no hay alguna manera de hacerlo para que una sola macro y un solo botón, me sirva para todas las hojas ya que el nombre de la hoja donde deben traspasarse los datos siempre coincidirá con el valor de la celda de la columna D
No se si me he explicado bien... Veo tanto texto que me pierdo. Si quieres que sea más breve, dímelo que lo intentaré. Muchas gracias por tu tiempo
1 Respuesta
Respuesta de Juan Carlos González Chavarría
1