- Примерните кодове ще се копират в лист с база данни с името Sheet2.
- Всеки път, когато стартирате една от подгрупите, клетките ще бъдат поставени под последния ред с данни или след последната колона с данни в лист2.
- За всеки пример има макрос, който прави нормално копиране, и един, който е само Копиране на стойностите.
- Примерните подводници използват функциите по -долу (макросите няма да работят без функциите).
Sub CopyOneArea () Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Range ("A1: c10") Задаване на range = Листове ("Sheet2"). Обхват ("A" & Lr) sourceRange.Copy destrange End Sub Sub CopyOneAreaValues () Dim source sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Задайте sourceRange = Sheets ("Sheet1"). Range ("A1: c10") With sourceRange Set destrange = Sheets ("Sheet2"). Range ("A" & Lr). _ Преоразмеряване (.Rows.Count, .Columns.Count) Край с destrange.Value = sourceRange.Value Крайна подфункция LastRow (sh като работен лист) При грешка Възобновяване на Next LastRow = sh.Cells.Find (Какво: = "*", _ След: = sh.Range ("A1"), _ Потърсете: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Функция Функция 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). Колона при грешка GoTo 0 Крайна функция