Nukopijuokite diapazoną „Activecell“ vietoje į duomenų bazės lapą naudodami „Microsoft Excel“ VBA

Anonim
  • Pavyzdiniai kodai bus nukopijuoti į duomenų bazės lapą pavadinimu „Sheet2“.
  • Kiekvieną kartą, kai paleidžiate vieną iš antrinių dalių, ląstelės bus dedamos žemiau paskutinės eilutės su duomenimis arba po paskutinio stulpelio su duomenimis 2 lape.
  • Kiekviename pavyzdyje yra makrokomanda, kuri daro įprastą kopiją, o kita - tik kopijuoti reikšmes.
  • Pamokų pavyzdžiai naudoja toliau nurodytas funkcijas (makrokomandos neveiks be funkcijų).
Sub CopyToActiveCell () Dim sourceRange Kaip diapazonas Dim destrange as Range if Selection.Cells.Count> 1 Tada išeiti iš Sub Set sourceRange = Sheets ("Sheet1"). Diapazonas ("A1: C10") Nustatyti destrange = ActiveCell sourceRange.Copy destrange End Sub Sub CopyToActiveCellValues ​​() Dim sourceRange Kaip diapazonas Dim dimrange as Range if Selection.Cells.Count> 1 Tada išeiti iš antrinio rinkinio sourceRange = Sheets ("Sheet1"). Diapazonas ("A1: C10") Su sourceRange Set destrange = ActiveCell.Resize _ (.Rows.Count, .Columns.Count) Baigti su destrange.Value = sourceRange.Value Pabaiga Subfunkcija LastRow (sh kaip darbalapis) On Error Resume Next LastRow = sh.Cells.Find (What: = "*", _ Po: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Row On Error GoTo 0 End Function Funkcija Lastcol (sh kaip darbalapis) Įvyko klaida Tęsti Kitas Lastcol = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Stulpelis apie klaidą GoTo 0 End Function