- Los códigos de ejemplo se copiarán en una hoja de base de datos con el nombre Hoja2.
- Cada vez que ejecute uno de los subs, las celdas se colocarán debajo de la última fila con datos o después de la última columna con datos en sheet2.
- Para cada ejemplo, hay una macro que hace una copia normal y otra que solo copia los valores.
- Los subs de ejemplo utilizan las funciones siguientes (las macros no funcionarán sin las funciones).
Sub CopyToActiveCell () Dim sourceRange As Range Dim destrange As Range Si Selection.Cells.Count> 1 Luego Salir de Sub Set sourceRange = Sheets ("Sheet1"). Range ("A1: C10") Set destrange = ActiveCell sourceRange.Copy destrange End Sub Sub CopyToActiveCellValues () Atenuar sourceRange como rango Atenuar destrange como rango si Selection.Cells.Count> 1 Luego salir del subconjunto sourceRange = Sheets ("Sheet1"). Range ("A1: C10") Con sourceRange Establecer destrange = ActiveCell.Resize _ (.Rows.Count, .Columns.Count) Finalizar con destrange.Value = sourceRange.Value Finalizar subfunción LastRow (sh As Worksheet) En caso de error Reanudar Next LastRow = sh.Cells.Find (What: = "*", _ Después: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Row On Error GoTo 0 End Function Función Lastcol (sh As Worksheet) En caso de error Reanudar Siguiente Lastcol = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Column On Error GoTo 0 End Function