Hola Dante Amor,
Primeramente quiero felicitarte por el excelente trabajo que realizas aquí en favor de las personas como yo que quieren aprender a programar en Visual Basic.
Ayer, buscando entre las preguntas de otros usuarios encontré una macro que me sirvió pero, aun no esta completa. Te la copio
Sub copiar()
'Establecer las hojas a utilizar
Set l1 = Workbooks("Database bewerber")
Set l2 = Workbooks("Database Arbeitnehmer")
Set h1 = l1.Sheets("DataBase Bewerber")
Set h2 = l2.Sheets("DataBase Arbeitnehmer")
col = "N"
'Encuentra la ultima fila disponible de la hoja 2
u = h2.UsedRange.Rows(h2.UsedRange.Rows.Count).Row + 1
'Revisa un ciclo de la hoja1 desde la fila 5 hasta el _
final de los datos
For i = 5 To h1.Range(col & Rows.Count).End(xlUp).Row
'Si en la hoja2 en la culumna N dice Aktiv
If h1.Cells(i, col) = "Aktiv" Then
'Copia las celdas indicadas
h2.Range("A" & u) = h1.Range("A" & i)
h2.Range("B" & u) = h1.Range("B" & i)
h2.Range("C" & u) = h1.Range("c" & i)
h2.Range("D" & u) = h1.Range("d" & i)
h2.Range("E" & u) = h1.Range("e" & i)
h2.Range("F" & u) = h1.Range("f" & i)
h2.Range("G" & u) = h1.Range("g" & i)
h2.Range("H" & u) = h1.Range("h" & i)
h2.Range("I" & u) = h1.Range("i" & i)
h2.Range("J" & u) = h1.Range("j" & i)
h2.Range("k" & u) = h1.Range("k" & i)
h2.Range("l" & u) = h1.Range("l" & i)
h2.Range("M" & u) = h1.Range("m" & i)
h2.Range("N" & u) = h1.Range("n" & i)
u = u + 1
End If
Next
'Danke Dante Amor. Gracias mil
End Sub
La macro funciona pero, me Copia los datos asi:
Como puedes ver me deja una línea entre el dato que ya estaba y los datos importados desde el Libro DataBase Bewerber. ¿Cómo puedo solucionar esto?
Otro punto es que cada vez que corro la macro se copian siempre los mismo datos y me gustaría mejorarla para que compie solo los que no tenga ya copiados en el Libro DataBase Arbeitnehmer.
Me explico: Hoy 3 candidatos fueron contratdos y pasaron a estar activos (col. N) Ejecuto el macro y me los Copia a la hoja deseada pero, mañana 2 candidatos más son contratados y pasaron a ser activos. Cuando ejecuto la macro me Copia nuevamente los tres del día anterior más los dos del día actual.
Como puedo Hacer para que la macro haga primeramente una verificación en la hoja DataBase Arbeirnehmer y copie solo los nuevos empleados que no estén ya en la data.
Gracias anticipada por tu apreciada ayuda.
Gilda Montero