- Exemplele de coduri se vor copia într-o foaie de bază de date cu numele Sheet2.
- De fiecare dată când rulați unul dintre subs, celulele vor fi plasate sub ultimul rând cu date sau după ultima coloană cu date în foaia2.
- Pentru fiecare exemplu există o macro care face o copie normală și una care este doar Copierea valorilor.
- Exemplele subs utilizează funcțiile de mai jos (macro-urile nu vor funcționa fără funcții).
Amintiți-vă că există doar 256 de coloane în Excel
Sub CopyColumn () Dim sourceRange As Range Dim distrange As Range Dim Lc As Integer Lc = Lastcol (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Coloane ("A: A") Set destrange = Foi ("Sheet2"). Coloane (Lc) sourceRange.Copy destrange End Sub Sub CopyColumnValues () Dim sourceRange As Range Dim distrange As Range Dim Lc As Integer Lc = Lastcol (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Coloane ("A: A") Set destrange = Sheets ("Sheet2"). Coloane (Lc). _ Resize (, sourceRange.Columns.Count) destrange.Value = sourceRange.Value End Sub Function LastRow (sh Asheet Sheet) On Error Resume Next LastRow = sh.Cells.Find (What: = "*", _ After: = sh .Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Row On Error GoTo 0 End Function Function Lastcol (sh Ca foaie de lucru) La eroare Reîncepeți Următorul 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