H o l a:
Pon la siguiente macro en los eventos de tu hoja1 del libro1
Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
Application.ScreenUpdating = False
Set l1 = ThisWorkbook
Set h1 = Sheets("WA CONSOLIDADO 2015-5")
Set l2 = Workbooks("BASE DE BLOQUEO WA 2016-3.xlsx")
hojas = Array("1 CICLO", "2 CICLO", "3 CICLO")
col = "A"
existe = False
n = 0
'
If Not Intersect(Target, Columns("W")) Is Nothing Then
For Each c In Target
Select Case UCase(c.Value)
Case "COMPLETO"
codigo = Cells(c.Row, col)
For h = LBound(hojas) To UBound(hojas)
Set h2 = l2.Sheets(hojas(h))
Set b = h2.Columns(col).Find(codigo, lookat:=xlWhole)
If Not b Is Nothing Then
h2.Rows(b.Row).Delete
existe = True
n = n + 1
End If
Next
Case "INCOMPLETO"
Select Case Cells(c.Row, "I")
Case 1: Set h2 = l2.Sheets("1 CICLO")
Case 2: Set h2 = l2.Sheets("2 CICLO")
Case 3: Set h2 = l2.Sheets("3 CICLO")
End Select
u = h2.Range("W" & Rows.Count).End(xlUp).Row + 1
h1.Rows(c.Row).Copy
h2.Rows(u).PasteSpecial xlValues
Application.CutCopyMode = False
existe = True
n = n + 1
End Select
Next
Application.ScreenUpdating = False
If existe Then
l2.Save
MsgBox "Registros eliminados: " & n
End If
End If
End Sub
Cambia en la macro lo siguiente:
"WA CONSOLIDADO 2015-5", por el nombre de la hoja1 del libro1
"BASE DE BLOQUEO WA 2016-3.xlsx", por el nombre del libro2, el libro2 deberá esta abierto.
"1 CICLO", "2 CICLO", "3 CICLO", por los nombres de tus 3 hojas.
Case 1: Set h2 = l2.Sheets("1 CICLO")
Case 2: Set h2 = l2.Sheets("2 CICLO")
Case 3: Set h2 = l2.Sheets("3 CICLO"), igual , por le nombre de tus 3 hojas del libro2.
Sigue las Instrucciones para poner la macro en los eventos de worksheet
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
- Del lado derecho copia la macro
Avísame si tienes alguna duda.
‘
S a l u d o s . D a n t e A m o r. Recuerda valorar la respuesta. G r a c i a s