publicado el 20 de agosto20 ago Hola Agradezco de antemano cualquier gestión.... Tengo un código que le digo que las facturas nuevas me las añado en otro Listado.. están identificadas con la palabra AÑADIR....el problema es que no sé como decirle que me las empiece a escribir en la última línea del listado existente en el ejemplo.: manualmente le digo que me las empiece a poner a partir de la fila 3067... Sub AÑADIRNUEVAS() Application.Calculation = xlManual Dim i, j As Integer j = 3067 'DONDE EMPIEZA A ESCRIBIR For i = 2 To 8000 ' DONDE EMPIEZA A BUSCAR If Range("FACTURAS!L" & i) = "AÑADIR" Then Range("USUARIO!a" & j) = Range("FACTURAS!a" & i) Range("USUARIO!b" & j) = Range("FACTURAS!B" & i) Range("USUARIO!c" & j) = Range("FACTURAS!C" & i) Range("USUARIO!d" & j) = Range("FACTURAS!D" & i) Range("USUARIO!e" & j) = Range("FACTURAS!E" & i) Range("USUARIO!f" & j) = Range("FACTURAS!F" & i) Range("USUARIO!g" & j) = Range("FACTURAS!G" & i) Range("USUARIO!h" & j) = Range("FACTURAS!H" & i) Range("USUARIO!i" & j) = Range("FACTURAS!I" & i) Range("USUARIO!j" & j) = Range("FACTURAS!J" & i) j = j + 1 End If Next While Range("USUARIO!a" & j) <> "" Range("USUARIO!a" & j) = "" Range("USUARIO!b" & j) = "" Range("USUARIO!c" & j) = "" Range("USUARIO!d" & j) = "" Range("USUARIO!e" & j) = "" Range("USUARIO!f" & j) = "" Range("USUARIO!g" & j) = "" Range("USUARIO!h" & j) = "" Range("USUARIO!i" & j) = "" Range("USUARIO!j" & j) = "" Range("USUARIO!k" & j) = "" Range("USUARIO!l" & j) = "" j = j + 1 Wend Application.Calculation = xlAutomatic End Sub
publicado el 20 de agosto20 ago Hola, Sin el libro de ejemplo solo puedo participar en su consulta con un código como el siguiente, este debería poder encontrar la última fila utilizada en la hoja “USUARIO” y comenzar a escribir a partir de esa fila. Así, no necesita especificar manualmente la fila de inicio cada vez. Sub AÑADIRNUEVAS() Application.Calculation = xlManual Dim i As Integer Dim j As Integer ' Encuentra la última fila j = Sheets("USUARIO").Cells(Sheets("USUARIO").Rows.Count, "A").End(xlUp).Row + 1 For i = 2 To 8000 If Range("FACTURAS!L" & i) = "AÑADIR" Then Range("USUARIO!A" & j) = Range("FACTURAS!A" & i) Range("USUARIO!B" & j) = Range("FACTURAS!B" & i) Range("USUARIO!C" & j) = Range("FACTURAS!C" & i) Range("USUARIO!D" & j) = Range("FACTURAS!D" & i) Range("USUARIO!E" & j) = Range("FACTURAS!E" & i) Range("USUARIO!F" & j) = Range("FACTURAS!F" & i) Range("USUARIO!G" & j) = Range("FACTURAS!G" & i) Range("USUARIO!H" & j) = Range("FACTURAS!H" & i) Range("USUARIO!I" & j) = Range("FACTURAS!I" & i) Range("USUARIO!J" & j) = Range("FACTURAS!J" & i) j = j + 1 End If Next i ' Limpia las celdas restantes por si hace falta While Range("USUARIO!A" & j) <> "" Range("USUARIO!A" & j) = "" Range("USUARIO!B" & j) = "" Range("USUARIO!C" & j) = "" Range("USUARIO!D" & j) = "" Range("USUARIO!E" & j) = "" Range("USUARIO!F" & j) = "" Range("USUARIO!G" & j) = "" Range("USUARIO!H" & j) = "" Range("USUARIO!I" & j) = "" Range("USUARIO!J" & j) = "" Range("USUARIO!K" & j) = "" Range("USUARIO!L" & j) = "" j = j + 1 Wend Application.Calculation = xlAutomatic End Sub Editado el el 20 de agosto20 ago por Israel Cassales
publicado el 21 de agosto21 ago Pues me da gusto de verdad, ahora por favor cierra el tema para dejarlo como solucionado y sirva de referencia para futuros lectores. Concluyo mi participación. Saludines
Hola
Agradezco de antemano cualquier gestión....
Tengo un código que le digo que las facturas nuevas me las añado en otro Listado..
están identificadas con la palabra AÑADIR....el problema es que no sé como decirle
que me las empiece a escribir en la última línea del listado existente
en el ejemplo.: manualmente le digo que me las empiece a poner a partir de la fila 3067...
Sub AÑADIRNUEVAS()
Application.Calculation = xlManual
Dim i, j As Integer
j = 3067 'DONDE EMPIEZA A ESCRIBIR
For i = 2 To 8000 ' DONDE EMPIEZA A BUSCAR
If Range("FACTURAS!L" & i) = "AÑADIR" Then
Range("USUARIO!a" & j) = Range("FACTURAS!a" & i)
Range("USUARIO!b" & j) = Range("FACTURAS!B" & i)
Range("USUARIO!c" & j) = Range("FACTURAS!C" & i)
Range("USUARIO!d" & j) = Range("FACTURAS!D" & i)
Range("USUARIO!e" & j) = Range("FACTURAS!E" & i)
Range("USUARIO!f" & j) = Range("FACTURAS!F" & i)
Range("USUARIO!g" & j) = Range("FACTURAS!G" & i)
Range("USUARIO!h" & j) = Range("FACTURAS!H" & i)
Range("USUARIO!i" & j) = Range("FACTURAS!I" & i)
Range("USUARIO!j" & j) = Range("FACTURAS!J" & i)
j = j + 1
End If
Next
While Range("USUARIO!a" & j) <> ""
Range("USUARIO!a" & j) = ""
Range("USUARIO!b" & j) = ""
Range("USUARIO!c" & j) = ""
Range("USUARIO!d" & j) = ""
Range("USUARIO!e" & j) = ""
Range("USUARIO!f" & j) = ""
Range("USUARIO!g" & j) = ""
Range("USUARIO!h" & j) = ""
Range("USUARIO!i" & j) = ""
Range("USUARIO!j" & j) = ""
Range("USUARIO!k" & j) = ""
Range("USUARIO!l" & j) = ""
j = j + 1
Wend
Application.Calculation = xlAutomatic
End Sub