Macro que vea si se cumple una condición y copie otra celda de la fila, si no que baje y re-evalúe
Necesito ayuda para crear una macro que evalué si una celda (HOJA 1, Celda L2) cumple una condición.
Si la condición se cumple (="Cobro"), que copie el contenido de una segunda celda de la misma fila (HOJA 1, Celda B2) y lo pegue en una tercer celda ubicada en otra hoja del mismo archivo (HOJA 2, celda A5)
Si la condición no se cumple (<> “Cobro”), que baje una fila y evalúe nuevamente la condición en la nueva celda (HOJA 1, Celda L3). Si la condición se cumple que repita el procedimiento de copiar y pegar; si no se cumple, que siga bajando y evaluando hasta que encuentre una celda vacía en la columna L.
Intenté hacer mi macro siguiendo un caso similar en el foro pero no me salió:
Sub copiar()
Sheets("HOJA1").Range("L2").Select
If (ActiveCell.Value = “Cobro”) Then
'si se cumple bajamos una celda
ActiveCell.Offset(1, 0).Select
Else
If (ActiveCell.Value <> “Cobro”) Then
dirección = ActiveCell.address
ActiveCell("B2").copy
Sheets("WU to HOJA2").Select
Range("A5").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveSheet.Paste
Sheets("DTSHOJA1").Select
Range(dirección).Select
ActiveCell.Offset(1, 0).Select
End If
End If
Next
End Sub
Ojalá que me puedan ayudar a corregirlo o darme otra opción.
Basándome en esta programación trato de solucionar la misma acción pero por líneas y no por columnas. De modo que si E1<>E2 copie en hoja2 A1:R1. Pero al establecer el rango que quiero copiar me atasco al desconocer la sintaxis adecuada. Llego a esta modificación:Sub ExtraeLineas()Sheets("MyData").Selectufila = Range("E" & Rows.Count).End(xlUp).Rowcol = Range("E2").ColumnFor i = 1 To ufila ' recorre toda la columna hasta la última celda con datos If Cells(i, col) <> Cells(i - 1, col) Then Sheets("hoja2").Range("A" & i "R" & i) = Sheets("MyData").Range("A" & i) End IfNext Sheets("hoja2").SelectEnd SubNo se si debo abrir un hilo nuevo, tu me dirás. - Javi Fr
Hola: Con gusto te ayudo, crea una nueva pregunta, escribe un ejemplo de lo que necesitas, en el desarrollo de la pregunta escribe "para Dante Amor" - Dante Amor