Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1744to1748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

MasterDok automatisch ausfüllen

MasterDok automatisch ausfüllen
04.03.2020 14:15:07
Bene
Hallo, Ich habe ein Problem, allerdings kaum Erfahrung im Bereich VBA Programmierung und stoße komplett an meine Grenzen.
Vielleicht kann mir ja jemand helfen, Ich hoffe ich war in der Lage das Problem einigermaßen verständlich klar zu machen:
Problemstellung
Mein Makro sollte in meinem Masterdokument einen Ordner voller gleicher „Antragsdokumente“ durchsuchen und die Zellen B2 sowie B18 bis B24 auslesen und im Masterdokument Zeile für Zeile ausgeben.
Die einzelnen Ausgangsdokumente sind Antragsformulare die sich aus einer Datenbank speisen und das Masterdokument gibt übersichtlich die 7 wichtigsten Analyseinfos (B2 und B18 bis B24) aus allen besagten Antragsdokumenten an.
Die Ausgabe der Daten im Masterdokument sollte dann am besten einfach als Tabelle, ein Formular nach dem anderen in Spalte A2 bis G2, A3 bis G3, A4 bis G4… und so weiter ausgegeben werden.
Natürlich sollte es dafür nicht notwendig sein, jedes Antragsdokument vorher zu öffnen.
Ausgelöst werden sollte dieses Auslesen der Datenabfrage aus den Antragsdokumenten via Schaltfläche im Masterdokument- nicht automatisch beim Öffnen des Masterdokuments da es unter Umständen zu einer erheblichen Anzahl von Antragsdokumenten kommen kann und die Abfrage der Daten endsprechend je nach Code eine Weile dauern könnte.
Vielen Dank schon mal für eure Hilfe und falls ich etwas Wichtiges vergessen habe gebt gerne Bescheid.
LG. Bene

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MasterDok automatisch ausfüllen
04.03.2020 14:31:17
UweD
Hallo
Liegen die Antragsformulardateien alle in einem bestimmten Ordner?
Liegen da nur diese Dateien oder auch Weitere mit gleicher Endung
Oder fangen die Dateinamen diese Dateien alle z.B. gleich an.
LG UweD
AW: MasterDok automatisch ausfüllen
04.03.2020 14:42:20
Bene
Hallo,
Ja die Antragsdokumente werden alle in einem Ordner hinterlegt. Ein SharePoint Ordner auf den die Antragsteller zugreifen können. Sie geben dann Per Drop Down Werte ein, das Antragsformular gibt aus einer Datenbank die endsprechenden Anweisungen im Antragsformular zurück und diese sollte mein Chef dann über das Masterdokument ganz übersichtlich per Knopfdruck angezeigt bekommen (Infos wie: Status, Antragsdatum etc...)
In dem Ordner werden auch nur diese Antragsdokumente hinterlegt sein. Für die Benamung dieser Dokumente habe ich noch keine Idee, eine aufsteigende Nummerierung könnte Sinn machen oder?!
Vielen Dank vorab
Beste Grüße
Bene
Anzeige
AW: ungeprüft
04.03.2020 14:32:30
Fennek
Hallo,
versuche diesen Code:

Const Pfad As String = "c:\users\xxxxx\desktop\" ' vbReadOnly Then
Set WBQ = Workbooks.Open(Pfad & f)
With WQ.sheets(1)
lr = lr + 1
wz.cells(lr,1) = .cells(2,2)
.Range("B18:B24").copy
wz.cells(lr,2).pastespecial transpose:=true
End With
WBQ.Close 0
SetAttr Pfad & f, vbReadOnly
End If
f = Dir
Loop
End Sub
mfg
AW: ungeprüft
04.03.2020 15:12:44
Bene
Hallo,
Vielen Dank für den Code und dein schnelles Feedback Fennek, ich habe gerade noch Probleme beim Adaptieren:
bei Zeile: f = Dir(Pfad & "Antrag*.xlsx") kommt wenn ich den Windows Explorer Pfad eingebe, \ eingebe und dann den Dateinamen hinschreibe eine Fehlermeldung: Syntaxfehler wird angezeigt und der VBA Editor will das ich die : und _ aus dem Pfad entferne.
Entschuldige meine Unwissenheit aber was gilt es zu beachten damit ich die Funktionen deines Codes prüfen kann.
Unabhängig davon natürlich jetzt schon 1000 Dank das du dich damit beschäftigst :-)
lg Bene
Anzeige
AW: zuerst einfach testen
04.03.2020 15:32:21
Fennek
Hallo,
ob das direkt aus SharePoint geht, weis ich nicht.
Kopiere zuerst 2-3 Dateien nach c:\temp und teste den Code (auch im Einzelschritt-Modus F8. Alle Pfad- und Dateinamen müssen angepasst werden, z.B. 'f = dir(Pfad & "*.xlsx")' (Der Pfad muss mit "\" abschließen)
mfg
AW: ungeprüft
04.03.2020 15:28:30
Bene
Ok vergiss meine letzte Nachricht, hab's geschafft Pfad und Datei so zu hinterlegen das dass funktioniert, allerdings gibt er mir jetzt einen Laufzeitfehler 53 raus. Gelb hinterlegt wird die Zeile.
If GetAttr(Pfad & f) vbReadOnly Then
was hat es damit auf sich?
Pfade sind ersetzt
04.03.2020 15:43:30
Bene
Ok, habe jetzt überall die Pfad & f ersetzt und das funktioniert so weit, kann mit F8 durchtesten, eine Fehlermeldung gibt VBA allerdings noch bei
With WQ.Sheets(1)
raus, Laufzeitfehler 424 wird ausgegben?!
Muss ich da den Namen des endsprechenden Arbeitsblattes hinterlegen?
MfG
Bene
Anzeige
AW: WBQ.Sheets(1)
04.03.2020 15:57:28
Fennek
Hallo,
der Code stammt aus einer ähnlichen Frage und ist händisch angepasst: Hier muss es WBQ.Sheets(1) heisen, sofern die Daten wirklich im ersten Sheet stehen.
mfg
AW: WBQ.Sheets(1)
05.03.2020 07:55:32
Bene
Guten Morgen, entschuldige die späte Antwort.
Also, mein Antragsdokument besitzt noch 2 "Context sheets" die helfen die Daten im Antragsformular zu verarbeiten (SVERWEIS Listen usw.). Das Masterdokument hat nur eine Seite.
Außerdem steht im Code "WQ.Sheets(1)" oder muss es "WBQ.Sheets(1)" heißen?
Weil für WQ haben wir ja keine Variable definiert. Wenn Ich auf WBQ ändere gibt er mir den Laufzeitfehler 91 raus.
Und ist der Name des Tabellenblattes aus dem ich die Daten ziehen möchte entscheidend oder die Position?
Vielen Dank für deine Hilfe
Beste Grüße
Bene
Anzeige
AW: WBQ.Sheets(1)
05.03.2020 09:25:29
UweD
Hallo
Es muss "WBQ" heißen, so wie oben deklariert.
mit "With WBQ.Sheets(1)" wird aus dem ERSTEN Blatt gelesen.
Das kommt dann auf deine Datei an. ist es immer das zweite Blatt, dann hier eine 2 reinschreiben.
Wenn die Blätter immer die gleiche Benennung haben, kannst du auch den Namen eintragen.
Beispiel: With WBQ.Sheets("Datentabelle")
LG UweD
AW: WBQ.Sheets(1)
05.03.2020 09:46:26
Bene
Guten Morgen,
also das Blatt im Antragsdokument aus dem die Daten ausgelesen werden sollen heißt immer Antrag.
Also wäre die Richtige Code Zeile ja
With WBQ.Sheets("Antrag")
Allerdings gibt er mir auch hier einen Laufzeitfehler 91 zurück und bittet mich die Zeile zu debuggen.
Außerdem zeigt er an das "Objektvariable oder with Blockvariable nicht festgelegt" sind?!
Falls ihr mir da irgendwie helfen könnt wäre der Hammer
(Falls ich das Problem heute löse bekomme ich morgen Frei) ;-)
Besten Dank schonmal vorab
LG. Bene
Anzeige
AW: WBQ.Sheets(1)
05.03.2020 09:52:19
UweD
Lade doch mal eine Musterdatei hoch.
AW: WBQ.Sheets(1)
05.03.2020 10:15:04
Bene
https://www.herber.de/bbs/user/135630.xlsm
Ich habe eine Test Datei erstellt in der Ich nochmal versucht habe das Problem zu beschreiben.
Ich hoffe der Sachverhalt wird jetzt klarer.
MFG
Bene
AW: WBQ.Sheets(1)
05.03.2020 13:11:41
UweD
Hallo
bei mir klappt das so...

Option Explicit
Const Pfad As String = "x:\temp\test\" ' vbReadOnly Then
Set WBQ = Workbooks.Open(Pfad & f)
With WBQ.Sheets("Antrag")
lr = lr + 1
WZ.Cells(lr, 1) = .Cells(2, 2)
.Range("B18:B24").Copy
WZ.Cells(lr, 2).PasteSpecial Transpose:=True
End With
WBQ.Close 0
SetAttr Pfad & f, vbReadOnly
End If
f = Dir
Loop
End Sub
Aufgefallen ist mir, dass nach xlsx gefiltert wird, du aber eine xlsm hochgeladen hast.
Auch wird beim Öffnen der Antragdatei nach Aktualisierung gefragt.
Prüf da mal die Richtigkeit der Dateiendung.
Was passiert denn, wenn du mal das Makro im Einzelschritt durchlaufen lässt?
LG UweD
Anzeige
AW: WBQ.Sheets(1)
05.03.2020 13:53:53
Bene
Hallo, Danke für die Rückmeldung- der Hinweis mit den Endungen hat auf jeden Fall mal geholfen, es wird jetzt kein Fehler mehr ausgegeben. Wenn ich das Makro Schritt für Schritt mit F8 durchlaufen lasse, läuft es jetzt zwar durch- verändert aber nichts an meiner Masterdatei- tatsächlich springt es von
Do While Len(f) direkt auf End Sub.
Kann es sein das ich bei den "Datei und Pfad" Lücken nicht immer den Pfad und Dateiname der Antrags Datei sondern auch mal den Pfad und Dateinamen der Master Datei eingeben muss oder ist diese bereits als "Active.Worksheet" hinterlegt?
Vielen Dank für deine Hilfe
Beste Grüße
Bene
Anzeige
AW: WBQ.Sheets(1)
05.03.2020 14:02:43
UweD
Dann wird jetzt KEINE Datei mehr in dem Ordner gefunden, die der Suche entspricht.
AW: WBQ.Sheets(1)
05.03.2020 14:04:35
UweD
Mach mal ne Hardcopy vom Dateiexplorer, wo die Dateien ersichtlich sind. Mit Endung.
LG UweD
AW: WBQ.Sheets(1)
05.03.2020 15:06:17
Bene
Vielen Dank für deinen langen Atem und deine Hilfe, ich lass mir nächste Woche von einem Kollegen helfen der sich damit gut auskennt und mir das Ding dann hoffentlich final flott macht, ich mach erstmal Feierabend- habe heute zu lange vor Codes gesessen die mich geärgert haben. :D

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige