Copiar celdas de una hoja a otra

hola:

Necesito hacer un código el cual me busque el valor 100 dentro de una columna, en una hoja (hoja1), y que al encontrarlo copie la fila completa y la inserte en la hoja2.

ambas hojas tienen el mismo formato, la diferencia es que la hoja2 no posee datos, porque es aquí donde debo guardar todas las actividades que completaron 100% para luego eliminarlas de la hoja1 (tareas por hacer).

he hecho este código pero no me funciona.

If ComboBox1.Value = "Panna 3" Then
Worksheets("Panna 3").Activate 'Activa la hoja con la cual se va trabajar
Range("AR32").Select
While ActiveCell.Value <> Empty
If ActiveCell.Value = "100" Then
Selection.EntireRow.Copy
Worksheets("Histórico").Activate
Rows("cont:cont").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End If
Worksheets("Panna 3").Activate
ActiveCell.Offset(1, 0).Select
Wend

End if

Espero que me puedan ayudar gracias

1 Respuesta

Respuesta
1

Utiliza el siguiente códgio

Sub copiafila()
'Por.DAM
If ComboBox1.Value = "Panna 3" Then
    Sheets("Panna 3").Activate 'Activa la hoja con la cual se va trabajar
    For i = 32 To Range("AR" & Rows.Count).End(xlUp).Row
        If Cells(i, "AR") = 100 Then Rows(i).Copy _
        Sheets("Histórico").Range("A" & Sheets("Histórico").Range("AR" & Rows.Count).End(xlUp).Row + 1)
    Next
End If
End Sub

Saludos.Dante Amor
Si es lo que necesitas.

no me resulta =(

Es decir, no copia el dato ni los valores = 100% los borra.

Este procedimiento lo hice a través de un botón, el cual me abre una ventana (userform), donde aparece un combobox para elegir la hoja a la cual le quiero actualizar los datos, en este caso "Panna3"

Te mandaré el código Completo.!

Private Sub ComboBox1_Click()
Sheets(ComboBox1.Text).Select
End Sub
Private Sub UserForm_Initialize()
For i = 3 To 9
ComboBox1.AddItem Sheets(i).Name
Next i
'Panna3
If ComboBox1.Value = "Panna 3" Then
Sheets("Panna 3").Activate 'Activa la hoja con la cual se va trabajar
For i = 32 To Range("AR" & Rows.Count).End(xlUp).Row
If Cells(i, "AR") = 100 Then Rows(i).Copy _
Sheets("Histórico").Range("A" & Sheets("Histórico").Range("AR" & Rows.Count).End(xlUp).Row + 1).Paste
Next
End If
End Sub
Private Sub Image1_Click()
End Sub
Private Sub Label1_Click()
End Sub

Si en la celda tienes 100%, entonces en la macro hay que poner 1 en lugar de 100, así:

If Cells(i, "AR") = 1 Then Rows(i).Copy _
Sheets("Histórico").Range("A" & Sheets("Histórico").Range("AR" & Rows. Count).End(xlUp).Row + 1). Paste

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas