Copiați un interval pe locul Activecell într-o foaie de bază de date utilizând VBA în Microsoft Excel

Cuprins
  • 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).
Sub CopyToActiveCell () Dim sourceRange As Range Dim distrange 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 distrange As Range If Selection.Cells.Count> 1 Exit Sub Set sourceRange = Sheets ("Sheet1"). Range ("A1: C10") With sourceRange Set destrange = ActiveCell.Resize _ (.Rows.Count, .Columns.Count) Terminați cu destrange.Value = sourceRange.Value End Sub Function LastRow (sh Asheet Sheet) On Error Reîncepe Next LastRow = sh.Cells.Find (What: = "*", _ După: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Row On Error GoTo 0 End Function Funcția Lastcol (sh Ca foaie de lucru) La eroare Reîncepeți Următorul Lastcol = sh.Cells.Find (Ce: = "*", _ După: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Column On Error GoTo 0 End Function

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave