Como hacer que el cursor se posicione al final de un rango de celdas pegadas en la misma hoja
publicado
Buenas tardes, un gusto enorme ser miembro de este foro.
Les pido su ayuda por favor, tengo cinco hojas y en cada una de ellas un rango y modelo de planilla diferente que se completan y se diferencian por fecha, la idea es que una vez que termino una planilla en la hoja, pueda copiar la misma planilla debajo de la primera ( pero vacia) y empezar el proceso de carga nuevamente, el problema es que no logro hacer que el foco del cursor se posicione en la primera fila de la planilla copiada y asi sucesivamente o en todo caso en la ultima fila de la nueva planilla copiada.
Desde ya agradecido
Remito codigo a modo de indicar lo que pretendo hacer
Sub copiarypegarv2()
Dim dato As String
dato = ActiveSheet.Name
If dato = "ch_data" Then
Range("A5:M91").Select ( define el rango que se debera copiar una de bajo de otra)
Selection.copy
Dim xLastRow As Long
With Application.ActiveSheet
xLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Range("A1").Offset(xLastRow + 2, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").End(xlDown).Select
End If
If dato = "ch_generadores" Then
Range("A5:L28").Select
Selection.copy
Dim xLastRow1 As Long
With Application.ActiveSheet
xLastRow1 = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Range("A1").Offset(xLastRow1 + 2, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").End(xlDown).Select
End If
If dato = "ch_hr_servidores" Then
Range("A5:E13").Select
Selection.copy
Dim xLastRow2 As Long
With Application.ActiveSheet
xLastRow2 = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Range("A1").Offset(xLastRow2 + 2, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").End(xlDown).Select
End If
If dato = "ch_svr_log" Then
Range("A5:C27").Select
Selection.copy
Dim xLastRow3 As Long
With Application.ActiveSheet
xLastRow3 = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Range("A1").Offset(xLastRow3 + 2, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").End(xlDown).Select
End If
If dato = "ch_rack" Then
Range("A5:I39").Select
Selection.copy
Dim xLastRow4 As Long
With Application.ActiveSheet
xLastRow4 = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Range("A1").Offset(xLastRow4 + 2, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A1").End(xlDown).Select
End If
End Sub
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas tardes, un gusto enorme ser miembro de este foro.
Les pido su ayuda por favor, tengo cinco hojas y en cada una de ellas un rango y modelo de planilla diferente que se completan y se diferencian por fecha, la idea es que una vez que termino una planilla en la hoja, pueda copiar la misma planilla debajo de la primera ( pero vacia) y empezar el proceso de carga nuevamente, el problema es que no logro hacer que el foco del cursor se posicione en la primera fila de la planilla copiada y asi sucesivamente o en todo caso en la ultima fila de la nueva planilla copiada.
Desde ya agradecido
Remito codigo a modo de indicar lo que pretendo hacer
Sub copiarypegarv2() Dim dato As String dato = ActiveSheet.Name If dato = "ch_data" Then Range("A5:M91").Select ( define el rango que se debera copiar una de bajo de otra) Selection.copy Dim xLastRow As Long With Application.ActiveSheet xLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row End With Range("A1").Offset(xLastRow + 2, 0).Select ActiveSheet.Paste Application.CutCopyMode = False Range("A1").End(xlDown).Select End If If dato = "ch_generadores" Then Range("A5:L28").Select Selection.copy Dim xLastRow1 As Long With Application.ActiveSheet xLastRow1 = .Cells(.Rows.Count, "A").End(xlUp).Row End With Range("A1").Offset(xLastRow1 + 2, 0).Select ActiveSheet.Paste Application.CutCopyMode = False Range("A1").End(xlDown).Select End If If dato = "ch_hr_servidores" Then Range("A5:E13").Select Selection.copy Dim xLastRow2 As Long With Application.ActiveSheet xLastRow2 = .Cells(.Rows.Count, "A").End(xlUp).Row End With Range("A1").Offset(xLastRow2 + 2, 0).Select ActiveSheet.Paste Application.CutCopyMode = False Range("A1").End(xlDown).Select End If If dato = "ch_svr_log" Then Range("A5:C27").Select Selection.copy Dim xLastRow3 As Long With Application.ActiveSheet xLastRow3 = .Cells(.Rows.Count, "A").End(xlUp).Row End With Range("A1").Offset(xLastRow3 + 2, 0).Select ActiveSheet.Paste Application.CutCopyMode = False Range("A1").End(xlDown).Select End If If dato = "ch_rack" Then Range("A5:I39").Select Selection.copy Dim xLastRow4 As Long With Application.ActiveSheet xLastRow4 = .Cells(.Rows.Count, "A").End(xlUp).Row End With Range("A1").Offset(xLastRow4 + 2, 0).Select ActiveSheet.Paste Application.CutCopyMode = False Range("A1").End(xlDown).Select End If End Sub