Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1832to1836
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

Makro in anderer Datei einfügen

Makro in anderer Datei einfügen
26.05.2021 13:11:46
Marc
Hallo zusammen,
durch starke Änderungen in einer Excel-Eingabemaske sowie in den Subs und Funktionen, muss ich alle bestehenden Dateien (etwa 15000) komplett neu setzen.
Ich hatte daran gedacht, ein neues Excel VBA zu programmieren, dass die Inhalte der alten Dateien in die neue Maske einfügt und dann speichert.
Das Übernehmen der Daten aus den Zellen ist einfach.
Die Schwierig ist aber, dass es Verweise aus anderen Dateien als Kontrolle der Zelleninhalte (per VBA) gibt und einige alten Angaben daher nicht mehr stimmen.
Daher muss ich das sehr komplexe Makro "Worksheet_Change" in der Vorlage entweder mit einem "exit sub" umgehen oder ganz weglassen und nach der Eingabe der Daten wieder aktivieren oder einfügen.
Weiteres Problem ist, dass das VBA Projekt vor dem Speichern geschützt werden muss.
Schleißlich habe ich das Ganze so programmieren müssen, dass der Benutzer nicht das normale Speichern nutzen kann, da der Dateiname, wegen der Nachbearbeitung, ganz bestimmten Regeln entsrpechen muss. Ich habe daher eine Sub eingefügtt, die ich als Admin händisch ausführen kann, die diese Sperre umgeht. Ich muss also zum Speichern nach gtaner Vorbereitung noch diese Sub aufrufen.
Hat jemand eine Idee, wie ich das bewerkstelligen kann oder vielleicht Links zu entsprechenden Themen?
Herzlichen Dnak für Eure Hilfe.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro in anderer Datei einfügen
26.05.2021 13:41:58
Fennek
Hallo,
viele Fragen, vielleicht zu viele.
Deshalb nur 2 Kommentare:
- VBA mit VBA ändern geht (http://snb-vba.eu/VBA_Excel_VBproject_en.html)
- alle Events abschalten geht mit "Application.AutomationSecurity=xlhigh
Ob es besser wäre den Code zu ändern oder die Daten in neue Dateien zu kopieren wage ich nicht zu beurteilen.
mfg
AW: Makro in anderer Datei einfügen
26.05.2021 15:02:08
Marc
Hallo Fennek,
vielen Dank für deine Antwort.
In meinem Beitrag wollte ich so vollständig wie möglich sein. Sorry für die vielen Fragen dort.
Das hilft mir natürlich sehr gut weiter, Fennek.
Ich hätte noch Fragen zu Application.AutomationSecurity=xlhigh/
Wenn ich das richtig verstehe, wird dadurch das Ausführen der Makros gesperrt.
- Wird dann dadurch nicht eine Warnung ausgegeben?
- Wie kann ich das nur auf das Projekt der neuen Datei begrenzen?
Das wäre ja die ideale Lösung, um nicht später Module bearbeiten/einfügen zu müssen und dabei noch mit einem Projektschutz zu basteln.
Falls das oben nicht so einfach ist:
Zum Aufheben/Setzen des Projektschutzes habe ich folgenden Beitrag gefunden: https://www.herber.de/forum/archiv/652to656/653894_Projektschutz_setzen_aufheben_ueber_VBA.html
Allerdings verstehe ich nicht, wie ich das auf das entsprechende Projekt anwenden kann. Es sind ja nun zwei oder drei Dateien, also auch Prjekte offen...
Vielen Dank.
Anzeige
AW: Makro in anderer Datei einfügen
26.05.2021 15:20:08
Marc
Würde es nicht auch mit Application.EnableEvents=false funktionieren?
AW: Makro in anderer Datei einfügen
26.05.2021 15:32:24
Fennek
Ja, das ginge auch.
Hast Du überlegt, Daten und Makros zu trennen, damit in einigen Wochen/Monaten/Jahren wieder das Problem mit dem Update kommen könnte?
EINE xlsm/xlsa im Netzwerzwerk auf das alle xlsx zugreifen? Es ginge auch die VBA-Codes in der "Personal.xlsb" lokal zu speichert. Zumindest Admins könnten die per batch im hintergrund austauschen.
Das Password für das VBA-Project ist sehr leicht zu umgehen, aber schwermit VBA zu setzen. Wenn das aber entscheidend sein sollte, wäre es besser die Daten in neuern Dateien auszutauschen.
Anzeige
AW: Makro in anderer Datei einfügen
27.05.2021 01:11:29
Marc
Wie deine Idee funktioniert, ist mir momentan nicht bekannt.
Vieleicht kannst du mir dazu noch einen Link zusenden. Ich weiß nicht, wonach ich suchen soll.
In die personal kann ich nicht schreiben. Diese Maske wird von mehreren Benutzern auf verschiedenen Pc's genutzt, sodass diese Lösung nicht in Frage käme. Ich hatte mal damit begonnen, zumindest einen Teil des Codes auf dem Server zu legen und bei jedem Laden einzulesen und beim Speichern dann wieder zu löschen. Damit bin ich bisher jedoch nicht weit gekommen. Scheint mir auch recht komplex zu sein.
Deine Idee wäre die bessere Lösung, da auch ab und zu Änderungen in der Maske vorgenommen werden.
Danke dafür, mich wieder auf meine ursprünglich Idee gebracht zu haben.
Ich hatte erst versucht die Verantwortlichn auf Access eunzustimmen, das wurde aber aus Kostengründen abgeleht, leider.
Anzeige
AW: Makro in anderer Datei einfügen
27.05.2021 15:32:32
Yal
Hallo Marc,
"Ich hatte erst versucht die Verantwortlichn auf Access einzustimmen, das wurde aber aus Kostengründen abgeleht, leider":
Weil die Zeit und Energie, die Du verwenden wirst, um das Problem temporär zu lösen, nichts kostet, oder? Reparieren Sie bitte mein Auto, aber bitte ohne Werkzeug, weil es zu teuer ist.
Bei ca. 100.000€ pro MA im Jahr bei 250 AT, kosten deine Basteleien 400€ am Tag!!
Und wenn der Zahl von 15.000 Dateien stimmt (Access ist schon unterdimensioniert) muss man sich fragen, wieviel Wert dieser Daten sind.
Nutzlose oder veraltete Daten zu pflegen, sollte man sich auch sparen.
Ich denke, es sollte die "Verantwortlichen" bewusst werden, das was Sie wollen auf alle Fälle kostet. Egal wie.
VG
Yal
Anzeige
AW: Makro in anderer Datei einfügen
27.05.2021 18:21:19
Marc
Hallo Yal,
in gewissem Sinne hast du recht. Eine echte Datenbank wäre selbsverständlich die bessere, nein beste Lösung.
Nun, es handelt sich um eine NPO, die nur von Subsidien, Beiträge und Spenden lebt.
Diese 15000 Dateien werden schon über kurz oder lang wiederverwendet.
Ich leiste diese Arbeit ehrenamtlich, würde mir aber ganz sicher nicht soviel Arbeit antun, wenn es nicht einen Grund dafür geben würde.
Beste Grüße,
Marc
ach so. So hatte ich es nicht gedacht
27.05.2021 21:00:38
Yal
Hallo Marc,
in dem Fall ist es tatsächlich die "Verantwortlichen" nicht anzuprangern, auf die Lizenzkosten zu achten (wobei Access in 365privat enthalten sein sollte).
Falls es sich um eine gemeinnutzige Verein handelt, gibt es seitens Google, Microsoft oder Amazon besondere Unterstützung in Form von kostenlose Cloud Zugang:
https://support.google.com/nonprofits/answer/1614581?hl=de
https://aws.amazon.com/de/government-education/nonprofits/
https://www.microsoft.com/de-de/nonprofits/faq
Es wäre daraus zielführender eine zentrale Datenbank aufzusetzen (u.a. Cloud basiert), anstatt 15000 Dateien mitenander zu verknüpfen.
Für die Ehrenamtlichen dadurch die Möglichkeit ihre IT-Skills und Lebenslauf zu erweitern.
Vielleicht kann man nach ähnlichen Community Projekt suchen:
https://www.google.com/search?q=projekt+cloud+db+non+profit+organisation
Viel Erfolg
Yal
Anzeige
AW: ach so. So hatte ich es nicht gedacht
27.05.2021 22:49:58
Marc
Super Yal,
danke für die Infos. Dann kann ich das mal ausloten und entsprechende Vorschläge unterbreiten.
Klasse. Das war mir bisher nicht bekannt.
Beste Grüße,
Marc

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige