Rindas vai rindu kopēšana datu bāzes lapā, izmantojot Microsoft Excel VBA

Anonim
  • Piemēru kodi tiks kopēti datu bāzes lapā ar nosaukumu Sheet2.
  • Katru reizi, kad palaižat kādu no apakšsadaļām, šūnas tiks novietotas zem pēdējās rindas ar datiem vai pēc pēdējās kolonnas ar datiem 2. lapā.
  • Katram piemēram ir makro, kas veic parastu kopēšanu, un viens, kas ir tikai Kopēt vērtības.
  • Apakšparaugi izmanto tālāk norādītās funkcijas (makro nedarbosies bez funkcijām).
Sub CopyRow () Dim sourceRange kā diapazons Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Rindas ("1: 1") Set destrange = Sheets ("Sheet2"). Rindas (Lr) sourceRange.Copy destrange End Sub Sub CopyRowValues ​​() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Rindas ("1: 1") Set destrange = Sheets ("Sheet2"). Rindas (Lr). _ Resize (sourceRange.Rows.Count) destrange.Value = sourceRange.Value Beigas apakšfunkcija LastRow (sh kā darblapa) Ieslēgta kļūda Atsākt nākamo LastRow = sh.Cells.Find (Kas: = "*", _ Pēc: = sh. Diapazons ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Rindas kļūda GoTo 0 Beigu funkcijas funkcija Lastcol (sh As Darblapa) Par kļūdu Atsākt nākamo Lastcol = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Kolonna On Error GoTo 0 End Function