Kopiera ett intervall på platsen för Activecell till ett databasark med VBA i Microsoft Excel

Innehållsförteckning
  • Exempelkoderna kopieras till ett databasblad med namnet Sheet2.
  • Varje gång du kör en av delarna placeras cellerna under den sista raden med data eller efter den sista kolumnen med data i blad2.
  • För varje exempel finns det ett makro som gör en normal kopia och ett som bara är Kopiera värdena.
  • Exemplets subs använder funktionerna nedan (makron fungerar inte utan funktionerna).
Sub CopyToActiveCell () Dim sourceRange As Range Dim destrange As Range If Selection.Cells.Count> 1 Stäng sedan 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 Stäng sedan 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: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Row On Error GoTo 0 End Function Funktion Lastcol (sh Som kalkylblad) Vid fel Återuppta Nästa Lastcol = sh.Cells.Find (Vad: = "*", _ Efter: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Column On Error GoTo 0 Avsluta funktion

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave