AW: Excel-Formular automatisch ausfüllen
05.02.2020 16:04:39
Regina
Hallo,
ich habe noch nicht verstanden, ob Du einen datensatz (der auf dem der Cursor steht?), oder nacheinander alle Datensätze in die Form schmeißen willst. Daher hier mal 2 Varianten:
Variante 1: Überträgt den Datensatz, in dem der Cursor steht:
Public Sub Formular_ausfuellen_einer()
Dim lng_zeile As Long
Dim obj_wks_quelle As Worksheet
Dim obj_wks_ziel As Worksheet
Set obj_wks_quelle = Worksheets("Daten")
Set obj_wks_ziel = Worksheets("Form")
With obj_wks_quelle
lng_zeile = ActiveCell.Row
obj_wks_ziel.Cells(1, 2) = .Cells(lng_zeile, 2)
obj_wks_ziel.Cells(1, 7) = .Cells(lng_zeile, 5)
obj_wks_ziel.Cells(3, 2) = .Cells(lng_zeile, 3)
obj_wks_ziel.Cells(3, 7) = .Cells(lng_zeile, 6)
obj_wks_ziel.Cells(5, 2) = .Cells(lng_zeile, 1)
obj_wks_ziel.Cells(5, 7) = .Cells(lng_zeile, 4)
End With
End Sub
Variante 2: Überträgt alle Datensätze untereinander in das Form:
Public Sub Formular_ausfuellen_alle()
Dim lng_zeile As Long
Dim lng_letzte_zeile As Long
Dim lng_zeile_ziel As Long
Dim obj_wks_quelle As Worksheet
Dim obj_wks_ziel As Worksheet
Set obj_wks_quelle = Worksheets("Daten")
Set obj_wks_ziel = Worksheets("Form")
lng_zeile_ziel = 1
With obj_wks_quelle
lng_letzte_zeile = .Cells(Rows.Count, 1).End(xlUp).Row
For lng_zeile = 2 To lng_letzte_zeile
obj_wks_ziel.Cells(lng_zeile_ziel, 2) = .Cells(lng_zeile, 2)
obj_wks_ziel.Cells(lng_zeile_ziel, 7) = .Cells(lng_zeile, 5)
obj_wks_ziel.Cells(lng_zeile_ziel + 2, 2) = .Cells(lng_zeile, 3)
obj_wks_ziel.Cells(lng_zeile_ziel + 2, 7) = .Cells(lng_zeile, 6)
obj_wks_ziel.Cells(lng_zeile_ziel + 4, 2) = .Cells(lng_zeile, 1)
obj_wks_ziel.Cells(lng_zeile_ziel + 4, 7) = .Cells(lng_zeile, 4)
obj_wks_ziel.Range("A" & lng_zeile_ziel & ":H" & lng_zeile_ziel + 4).Copy _
obj_wks_ziel.Cells(lng_zeile_ziel + 6, 1)
lng_zeile_ziel = lng_zeile_ziel + 6
Next
End With
End Sub
Frohes Testen!
Gruß
Regina