Kopiér en eller flere kolonner til et databaseark ved hjælp af VBA i Microsoft Excel

Anonim
  • Eksempelkoderne kopieres til et datablad med navnet Sheet2.
  • Hver gang du kører en af ​​subs, placeres cellerne under den sidste række med data eller efter den sidste kolonne med data i sheet2.
  • For hvert eksempel er der en makro, der laver en normal kopi, og en, der kun er Kopier værdierne.
  • Eksempler -subs bruger funktionerne herunder (makroerne fungerer ikke uden funktionerne).

Husk, at der kun er 256 kolonner i Excel

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"). Kolonner (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 Set sourceRange = Sheets ("Ark1"). Kolonner ("A: A") Indstil destrange = Ark ("Ark2"). Kolonner (Lc). _ Ændre størrelse (, sourceRange.Columns.Count) destrange.Value = sourceRange.Value Slut Sub -funktion LastRow (sh Som regneark) Ved fejl Genoptag Næste LastRow = sh.Cells.Find (Hvad: = "*", _ Efter: = sh .Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Række på fejl Gå til 0 Afslut funktion Funktion Lastcol (sh Som regneark) Ved fejl Genoptag Næste Lastcol = sh.Cells.Find (Hvad: = "*", _ Efter: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Column On Error GoTo 0 Slutfunktion