Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel-Formular automatisch ausfüllen

Excel-Formular automatisch ausfüllen
04.02.2020 14:38:18
Walter
https://www.herber.de/bbs/user/134975.xlsx
Hallo Zusammen
habe auf der einen Seite ein bestehendes Excel-Formular und auf der anderen Seite eine Tabelle mit Daten.
Ich muss nun die Daten(Zeilen) in das Formular eingeben abspeichern und dann ein neues Formular für die nächste Zeile.
Da wir hier von über 10'000 Zeilen sprechen, möchte ich dies gerne automatisieren. Wer kann mir helfen?
Vielen lieben Dank
Wale
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel-Formular automatisch ausfüllen
04.02.2020 15:20:02
Regina
Hi,
Du möchstest also für jeden Datensatz auf dem Blatt "Daten" einmal die "Maske" auf dem Blatt "Form" ausgefüllt bekommen?
Dann trage doch bitt emal die ersten beiden datensätze auf dem Blatt "Form" ein, damit man sehen kann, wo genau die Daten dann stehen sollen und ob ggf. ein Abstand zwischen den "Formularen" geplant ist.
Gruß
Regina
Anzeige
AW: Excel-Formular automatisch ausfüllen
05.02.2020 07:03:33
Walter
Hallo Regina
besten Dank für Deine Meldung.Im Formular sind die grau hinterlegten Zellen die Spaltenüberschriften aus den Daten. In den blau hinterlegten Zellen sollten nun die jeweiligen Daten aus den Zeilen
https://www.herber.de/bbs/user/134982.xlsx
Anzeige
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
Anzeige
AW: Excel-Formular automatisch ausfüllen
06.02.2020 06:56:40
Walter
Hallo Regina
funktioniert Einwandfrei :-) vielen lieben Dank für Deine Unterstützung!
lg Wale
AW: Excel-Formular automatisch ausfüllen
06.02.2020 10:31:51
Walter
Hallo Regina
funktioniert beides Einwandfrei :-) vielen lieben Dank für Deine Unterstützung!
Bin noch am Einrichten der Speicherung, vielleicht melde ich mich noch einmal. :-)
lg Wale
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel-Formular automatisch ausfüllen


Schritt-für-Schritt-Anleitung

Um ein Excel-Formular automatisch auszufüllen, kannst Du die folgenden Schritte befolgen. Dieses Beispiel geht davon aus, dass Du mit Excel VBA vertraut bist und ein Formular in Excel erstellt hast.

  1. Datenblatt vorbereiten: Erstelle ein Datenblatt mit den benötigten Informationen, die in das Formular übertragen werden sollen.

  2. Formularblatt erstellen: Erstelle ein weiteres Blatt, das als Formular dient. Die Zellen, in die die Daten eingetragen werden, sollten entsprechend formatiert sein.

  3. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  4. Neues Modul einfügen: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“, gehe auf „Einfügen“ und wähle „Modul“.

  5. Code einfügen: Füge den folgenden Code in das Modul ein, um das Formular automatisch auszufüllen:

    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
  6. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Wähle eine Zeile in Deinem Datenblatt aus und führe das Makro aus (ALT + F8 und wähle „Formular_ausfuellen_einer“).


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 9: Index außerhalb des gültigen Bereichs.“

    • Lösung: Stelle sicher, dass die Blattnamen in Deinem Code („Daten“ und „Form“) exakt mit den Blattnamen in Excel übereinstimmen.
  • Fehler: „Das Makro kann nicht ausgeführt werden.“

    • Lösung: Überprüfe, ob die Makros in Deinen Excel-Einstellungen aktiviert sind.

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, gibt es auch andere Möglichkeiten, um ein Excel-Formular automatisch auszufüllen:

  1. Formeln: Nutze Excel-Formeln wie SVERWEIS oder INDEX/VERGLEICH, um Daten aus einer Tabelle in ein Formular zu ziehen.

  2. Power Query: Mit Power Query kannst Du Daten importieren und transformieren, um sie in einem Formular anzuzeigen.

  3. Excel-Add-Ins: Es gibt zahlreiche Add-Ins, die Dir helfen können, Formulare automatisch auszufüllen und zu erstellen.


Praktische Beispiele

Beispiel 1: Übertragen von Kundendaten in ein Formular.

Wenn Du die Daten von 10.000 Kunden in ein Formular übertragen möchtest, kannst Du die oben gezeigte VBA-Methode verwenden, um dies effizient zu erledigen.

Beispiel 2: Automatisches Ausfüllen von Monatsdaten.

Wenn Du ein Formular hast, das Monate anzeigt, kannst Du den Code anpassen, um Excel Monate automatisch auszufüllen, indem Du die entsprechenden Zellen im VBA-Code verlinkst.


Tipps für Profis

  • Verwende Namensbereiche für Deine Zellen, um den Code lesbarer zu gestalten.
  • Erstelle eine Fehlerbehandlung im VBA-Code, um sicherzustellen, dass das Programm auch bei unerwarteten Eingaben stabil bleibt.
  • Nutze Formularfelder in Excel, um die Benutzerfreundlichkeit zu erhöhen. Du kannst sie in Kombination mit VBA verwenden, um Eingaben zu validieren.

FAQ: Häufige Fragen

1. Wie kann ich ein Excel-Formular automatisch erstellen?
Du kannst ein Excel-Formular automatisch erstellen, indem Du ein VBA-Skript verwendest, das die Struktur des Formulars basierend auf Deinen Daten generiert.

2. Ist es möglich, mehrere Formulare gleichzeitig auszufüllen?
Ja, Du kannst den VBA-Code so anpassen, dass er alle Datensätze aus Deinem Datenblatt nacheinander in das Formular überträgt. Verwende dafür die zweite Variante des Codes, die alle Datensätze verarbeitet.

3. Wie kann ich sicherstellen, dass meine Excel-Daten automatisch ausgefüllt werden?
Stelle sicher, dass Deine Daten in einem strukturierten Format vorliegen und nutze VBA oder Excel-Formeln, um sie in Dein Formular zu integrieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige