Nukopijuokite eilutę arba eilutes į 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 CopyRow () Dim sourceRange Kaip diapazonas Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Eilutės ("1: 1") Nustatykite destrange = Skaičiuoklės („Sheet2“). Eilutės (Lr) sourceRange.Copy destrange End Sub Sub CopyRowValues ​​() Dim sourceRange As Range Dim distrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Set sourceRange = Sheets ("Sheet1"). Eilutės ("1: 1") Nustatykite destrange = Sheets ("Sheet2"). Eilutės (Lr). _ Keisti dydį (sourceRange.Rows.Count) destrange.Value = sourceRange.Value Pabaiga Sub Funkcija LastRow (sh kaip darbalapis) On Error Resume Next LastRow = sh.Cells.Find (What: = "*", _ After: = sh. Diapazonas ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Row On Error GoTo 0 End Function Function Lastcol (sh As Darbo lapas) Apie klaidą Tęsti Toliau 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