Microsoft Excel'de VBA kullanarak Activecell'in yerindeki bir aralığı bir Veritabanı sayfasına kopyalayın

Anonim
  • Örnek kodlar, Sayfa2 adlı bir veritabanı sayfasına kopyalanacaktır.
  • Altlardan birini her çalıştırdığınızda, hücreler veri içeren son satırın altına veya sayfa2'deki veri içeren son Sütunun arkasına yerleştirilecektir.
  • Her örnek için normal bir kopyalama yapan ve yalnızca Değerleri Kopyalayan bir makro vardır.
  • Örnek alt birimler aşağıdaki işlevleri kullanır (makrolar, işlevler olmadan çalışmaz).
Sub CopyToActiveCell() SourceRange As Range As Range As Selection.Cells.Count > 1 ise Destrange Dim Destrange Sub Set sourceRange = Sheets("Sheet1").Range("A1:C10") Destrange ayarla = ActiveCell sourceRange.Copy destrange End Sub Sub CopyToActiveCellValues() SourceRange As Range As Range As Selection.Cells.Count > 1 ise Destrange Dim Destrange Sub Set sourceRange = Sheets("Sheet1").Range("A1:C10") sourceRange ile set destrange = ActiveCell.Resize _ (.Rows.Count, .Columns.Count) End With destrange.Value = sourceRange.Value End Sub Function LastRow(sh As Worksheet) Hatada Devam Sonraki 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 İşlev Lastcol(sh As Worksheet) Hatada Devam Et Sonraki Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormüller , _ SearchOrder:=xlByColumns, _ SearchDirection:= xlÖnceki, _ MatchCase:=False).Column On Error GoTo 0 End Function