- Przykładowe kody zostaną skopiowane do arkusza bazy danych o nazwie Sheet2.
- Za każdym razem, gdy uruchomisz jeden z podrzędnych, komórki zostaną umieszczone poniżej ostatniego wiersza z danymi lub za ostatnią kolumną z danymi w arkuszu2.
- Dla każdego przykładu istnieje makro, które wykonuje normalną kopię i takie, które jest tylko kopią wartości.
- Przykładowe subwoofery korzystają z poniższych funkcji (makra nie będą działać bez tych funkcji).
Pamiętaj, że w Excelu jest tylko 256 kolumn
Sub CopyColumn() Dim sourceRange As Range Dim destrange As Range Dim Lc As Integer Lc = Lastcol(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Columns("A:A") Set destrange = Sheets("Sheet2").Columns(Lc) sourceRange.Copy destrange End Sub Sub CopyColumnValues() Dim sourceRange As Range Dim destrange As Range Dim Lc As Integer Lc = Lastcol(Sheets("Sheet2")) + 1 Ustaw sourceRange = Arkusze ("Arkusz1").Kolumny("A:A") Ustaw odstrange = Arkusze("Arkusz2").Kolumny(Lc). _ Resize(, sourceRange.Columns.Count) destrange.Value = sourceRange.Value Funkcja End LastRow(sh As Worksheet) W przypadku błędu Wznów Następny LastRow = sh.Cells.Find(What:="*", _ After:=sh .Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Wiersz po błędzie GoTo 0 Funkcja zakończenia funkcji Lastcol(sh As Worksheet) On Error Resume Next Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder: =xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False). Kolumna przy błędzie Przejdź do 0 Zakończ funkcję