Skopírujte stĺpce alebo stĺpce do hárka databázy pomocou jazyka VBA v programe Microsoft Excel

Anonim
  • Vzorové kódy sa skopírujú do databázového listu s názvom List2.
  • Zakaždým, keď spustíte jednu z čiastkových podstránok, bunky sa umiestnia pod posledný riadok s údajmi alebo za posledný stĺpec s údajmi v hárku2.
  • Pre každý príklad existuje makro, ktoré robí normálnu kópiu, a makro, ktoré je iba skopírovaním hodnôt.
  • Ukážkové príklady používajú nižšie uvedené funkcie (makrá bez nich nebudú fungovať).

Nezabudnite, že v programe Excel je iba 256 stĺpcov

Sub CopyColumn () Dim sourceRange as Range Dim distrange As Range Dim Lc As Integer Lc = Lastcol (Sheets ("Sheet2") + 1 Set sourceRange = Sheets ("Sheet1"). Columns ("A: A") Set destrange = Tabuľky ("List2"). Stĺpce (Lc) sourceRange.Copy destrange Koniec Sub Sub Sub CopyColumnValues ​​() Dim sourceRange As Range Dim distrange As Range Dim Lc As Integer Lc = Lastcol (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets („List1“). Stĺpce („A: A“) Nastavte destrange = Listy („List2“). Stĺpce (Lc). _ Resize (, sourceRange.Columns.Count) destrange.Value = sourceRange.Value End Sub Function LastRow (sh As worksheet) 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 Ako pracovný list) Pri chybe Pokračovať Ďalej Lastcol = sh.Cells.Find (Čo: = "*", _ Potom: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Stĺpec pri chybe GoTo 0 Ukončiť funkciu