21.02.2021, 19:40
(Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2021, 19:45 von Excel_Neugier.)
Hallo zusammen
Ich bin auf der Suche nach einer Lösung für folgendes Problem:
Wir haben 10 verschiedene Excel-Dateien auf unserem Laufwerk abliegen, welche von jeweils 1-2 Personen gepflegt werden (Insgesamt also 10-20 verschiedene Personen). Darüber hinaus existiert eine weitere Excel Datei, welche mittels PowerQuery auf die erstgenannten 10 Dateien zugreift und somit eine Liste aus zu bearbeitenden Aufträgen erstellt.
Diese werden von einer weiteren Person bearbeitet und anschließend als bearbeitet markiert. Bislang muss die Person hierfür im Endeffekt dann doch einzeln in jede der 10 Dateien hineingehen. Daher dient die mittels PowerQuery erstellte Liste derzeit nur als Übersicht/Queck, damit kein Auftrag vergessen wird. Effizienter macht sie die Arbeit allerdings leider noch nicht.
Daher habe ich überlegt, ob sich das "Als bearbeitet markieren" nicht automatisieren lässt. Meine Idee ist die, dass die Person, welche die Aufträge bearbeitet, einfach die erzeugte Auftragsnummer in einer Spalte der durch PowerQuery erzeugten Tabelle einträgt und diese nach Erzeugen aller Nummern in die entsprechenden Dateien übertragen werden.
Grundsätzlich denke ich, dass das per VBA möglich sein sollte.
Jetzt kommt allerdings das große ABER: Dadurch, dass so viele Personen mit den Dateien arbeiten, ist die Gefahr relativ hoch, dass gerade eine der Dateien geöffnet ist. Dadurch ist die Datei logischerweise schreibgeschützt. Ohne es ausprobiert zu haben würde ich daher mal vermuten, dass es in diesem Fall zu Fehlern führen würde (entweder schmiert das Skript ab oder es würde eine Kopie der Datei erzeugt werden, was beides nicht gewünscht ist).
Lösungsansätze meinerseits wären folgende:
1. Nur die Auftragsnummern übertragen, deren Zieldateien gerade nicht geöffnet sind und die restlichen überspringen, sodass diese beim nächsten Mal übertragen werden. (Ich denke das sollte per VBA möglich sein?)
2. Die Auftragsnummern werden irgendwo zwischen gespeichert und übertragen, sobald die Datei nicht mehr schreibgeschützt ist. (Ich vermute das wird nicht per VBA möglich sein und übersteigt eventuell meine technischen Fähigkeiten)
Was haltet ihr von den Lösungsansätzen bzw. habt ihr noch weitere Ideen? Hatte jemand schonmal mit dem gleichen "Problem" zu tun? Ist VBA überhaupt das richtige Tool hierfür?
Bin für jeglichen Input dankbar! :)
Viele Grüße und einen schönen Sonntagabend!
Ich bin auf der Suche nach einer Lösung für folgendes Problem:
Wir haben 10 verschiedene Excel-Dateien auf unserem Laufwerk abliegen, welche von jeweils 1-2 Personen gepflegt werden (Insgesamt also 10-20 verschiedene Personen). Darüber hinaus existiert eine weitere Excel Datei, welche mittels PowerQuery auf die erstgenannten 10 Dateien zugreift und somit eine Liste aus zu bearbeitenden Aufträgen erstellt.
Diese werden von einer weiteren Person bearbeitet und anschließend als bearbeitet markiert. Bislang muss die Person hierfür im Endeffekt dann doch einzeln in jede der 10 Dateien hineingehen. Daher dient die mittels PowerQuery erstellte Liste derzeit nur als Übersicht/Queck, damit kein Auftrag vergessen wird. Effizienter macht sie die Arbeit allerdings leider noch nicht.
Daher habe ich überlegt, ob sich das "Als bearbeitet markieren" nicht automatisieren lässt. Meine Idee ist die, dass die Person, welche die Aufträge bearbeitet, einfach die erzeugte Auftragsnummer in einer Spalte der durch PowerQuery erzeugten Tabelle einträgt und diese nach Erzeugen aller Nummern in die entsprechenden Dateien übertragen werden.
Grundsätzlich denke ich, dass das per VBA möglich sein sollte.
Jetzt kommt allerdings das große ABER: Dadurch, dass so viele Personen mit den Dateien arbeiten, ist die Gefahr relativ hoch, dass gerade eine der Dateien geöffnet ist. Dadurch ist die Datei logischerweise schreibgeschützt. Ohne es ausprobiert zu haben würde ich daher mal vermuten, dass es in diesem Fall zu Fehlern führen würde (entweder schmiert das Skript ab oder es würde eine Kopie der Datei erzeugt werden, was beides nicht gewünscht ist).
Lösungsansätze meinerseits wären folgende:
1. Nur die Auftragsnummern übertragen, deren Zieldateien gerade nicht geöffnet sind und die restlichen überspringen, sodass diese beim nächsten Mal übertragen werden. (Ich denke das sollte per VBA möglich sein?)
2. Die Auftragsnummern werden irgendwo zwischen gespeichert und übertragen, sobald die Datei nicht mehr schreibgeschützt ist. (Ich vermute das wird nicht per VBA möglich sein und übersteigt eventuell meine technischen Fähigkeiten)
Was haltet ihr von den Lösungsansätzen bzw. habt ihr noch weitere Ideen? Hatte jemand schonmal mit dem gleichen "Problem" zu tun? Ist VBA überhaupt das richtige Tool hierfür?
Bin für jeglichen Input dankbar! :)
Viele Grüße und einen schönen Sonntagabend!