- Примерните кодове ще се копират в лист с база данни с името Sheet2.
- Всеки път, когато стартирате една от подгрупите, клетките ще бъдат поставени под последния ред с данни или след последната колона с данни в лист2.
- За всеки пример има макрос, който прави нормално копиране, и един, който е само Копиране на стойностите.
- Примерните подводници използват функциите по -долу (макросите няма да работят без функциите).
Не забравяйте, че в Excel има само 256 колони
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 = Листове ("Лист2"). Колони (Lc) ("Sheet1"). Колони ("A: A") Задайте destrange = Sheets ("Sheet2"). Columns (Lc). _ Преоразмеряване (, sourceRange.Columns.Count) destrange.Value = sourceRange.Value Крайна подфункция LastRow (sh като работен лист) При възобновяване на грешка Следваща LastRow = sh.Cells.Find (Какво: = "*", _ След: = sh .Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Грешка при включване GoTo 0 Крайна функция Функция Lastcol (sh Като работен лист) При възобновяване на грешката Следващ Lastcol = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Колона при грешка GoTo 0 End Function