Skopírujte rozsah na mieste Activecell do hárka databázy pomocou 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ť).
Sub CopyToActiveCell () Dim sourceRange As Range Dim destrange as Range If Selection.Cells.Count> 1 Then Exit Sub Set sourceRange = Sheets ("Sheet1"). Range ("A1: C10") Set destrange = ActiveCell sourceRange.Copy destrange End Sub Sub CopyToActiveCellValues ​​() Dim sourceRange as Range Dim destrange As Range If Selection.Cells.Count> 1 Then Exit Sub Set sourceRange = Sheets ("Sheet1") Range ("A1: C10") With sourceRange Set destrange = ActiveCell.Resize _ (.Rows.Count, .Columns.Count) End With destrange.Value = sourceRange.Value End Sub Function LastRow (sh As worksheet) On Error Resume Next LastRow = sh.Cells.Find (What: = "*", _ Po: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Riadok pri chybe GoTo 0 Ukončiť funkciu Funkcia Lastcol (pracovný list sh As) Pri chybe Pokračovať Ďalej Lastcol = sh.Cells.Find (Čo: = "*", _ Potom: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ObjednávkaObjednávky: = xlByColumns, _Smerovanie vyhľadávania: = xlPrevious, _ MatchCase: = False). Stĺpec pri chybe GoTo 0 Ukončiť funkciu