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

VBA Projekt updaten ohne Datenverlust in Tabellen

VBA Projekt updaten ohne Datenverlust in Tabellen
27.06.2013 13:33:31
Bernd
Hallo zusammen,
nachdem mein Projekt in den Grundzügen fertig ist und es an Kollegen weitergegeben wird. Stellt sich für mich die Frage, wie kann ich meinen Kollegen ein Update (neue UF's oder Module eventuelle neue Tabelle) zu kommen lassen, ohne die alten Tabellen, die mittlerweile mit Daten gefüllt sind, zu belasten.
Für eure Hilfe schon mal Danke im Voraus!!!
Gruß
Bernd

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Export / Import
27.06.2013 13:36:22
Klaus
Hallo Bernd,
du kannst Module und Userform per rechtsclick exportieren. Dein Kollege kann sie dann in seine bestehende Datei importieren.
Bevor ich jetzt 10 screenshots mache, probier das einfach mal aus ;-) Die Formate sind *.bas für Module und bei userforms glaube ich *.frm
Grüße,
Klaus M.vdT.

AW: Export / Import
27.06.2013 14:19:56
Bernd
Hallo Klaus,
Danke für deine schnelle Antwort.
Ich hätte mich etwas konkreter ausdrücken sollen.
In meiner Frage fehlte der Ansatz der Automatisierung z.B. über eine Makro oder ähnlich, damit der User nicht manuelle Eingriffe über VB-Editor machen muss, d.h. das Projekt ist mit Password versehen. Also alles in Allem, eine Art setup-Routine, die Tabellen, UF'S und Module ohne das es zu Datenverlust im Ursprungsprojekt führt, kopiert bzw. importiert.
Konnte ich mich klarer ausdrücken?
Gruß
Bernd

Anzeige
AW: Export / Import
27.06.2013 14:20:01
Bernd
Hallo Klaus,
Danke für deine schnelle Antwort.
Ich hätte mich etwas konkreter ausdrücken sollen.
In meiner Frage fehlte der Ansatz der Automatisierung z.B. über eine Makro oder ähnlich, damit der User nicht manuelle Eingriffe über VB-Editor machen muss, d.h. das Projekt ist mit Password versehen. Also alles in Allem, eine Art setup-Routine, die Tabellen, UF'S und Module ohne das es zu Datenverlust im Ursprungsprojekt führt, kopiert bzw. importiert.
Konnte ich mich klarer ausdrücken?
Gruß
Bernd

wieder offen - jemand anders bitte!
27.06.2013 14:22:18
Klaus
Hallo Bernd,
das automatische nachladen von Codezeilen und / oder *.bas - Dateien geht sicherlich, aber dafür bin ich nicht der Experte! Entschuldige dass ich deinen Thread gekapert habe - aber wie du selbst schriebst, es fehlter der Hinweis auf die Automatisierung :-)
Ich stelle natürlich wieder auf offen.
Grüße,
Klaus M.vdT.

Anzeige
AW: wieder offen - jemand anders bitte!
27.06.2013 14:29:13
Bernd
Hallo Klaus,
trotzdem ein großes DANKE :-)

Aktualisierung VBA-Module - automatisch
27.06.2013 19:16:22
fcs
Hallo Bernd,
die Automatisierung des Updates von VBA-Projekten ist nicht ganz ohne.
Hindernisse:
1. Zugriff auf VBA-Projekt erlauben.
Diese Option unter den Sicherheitseinstellungen muss vom Excel-Anwender gemacht werden und kann nicht per Makro geändert werden. Standardmäßig ist diese Option deaktiviert.
Userbild
2. Passwortschutz VBA-Projekt
Dieses Kennwort kann nicht direkt per VBA zum Aufheben des Schutzes übergeben werden.
Etwas mühsehlig und mit Glück kann man es mit den den etwas unsicheren "SendKeys"-Befehlen realisieren.
Hat man die ersten beiden Klippen überwunden, dann könnte man per VBA-Makro die vorhandenen Module löschen und die neuen importieren bzw. bei Tabellen-/Arbeitsmappen-Modulen die alten Codezeilen löschen und die neuen einfügen. Insgesamt ist dies aber mit VBA-Kenntnissen = "bescheiden" ein fast unmögliches Unterfangen bzw. du müsstest dir professinelle Hilfe einkaufen.
Ich würde hier einen anderen Weg gehen und beim Anwender die Daten per Makro aus der alten Version in eine leere Musterdatei mit dem aktualisierten VBA-Projekt einlesen. Das entsprechende Importmakro sollte dann im VBA-Projekt integriert sein.
So ein Makro kann relativ einfach sein, ist aber natürlich abhängig von der Struktur und dem Umfang der Daten in der Datei. Im einfachsten Fall muss man nur die Daten eines Tabellenblattes kopieren.
Einzige Voraussetzung: die neue Musterdatei und die Datei beim Anwender müssen einen unterschiedlichen Dateinamen haben.
Gruß
Franz

Anzeige
AW: Aktualisierung VBA-Module - automatisch
27.06.2013 19:59:17
Bernd
Hallo Franz,
Sorry, dass ich jetzt antworte.
Danke für deine Hilfe.
Wie sollte denn ein Importmakro (Code) gestaltet sein?
Gruß
Bernd

Daten in Musterdatei übernehmen/kopieren
28.06.2013 09:44:12
fcs
Hallo Bernd,
so ein Import-Makro muss folgende Funktionalitäten/Schritte beinhalten:
1. Auswahldialog zum Auswählen der Datei mit den Daten/alten VBA-Projekt
2. Kopieren der Daten aus dem/den Blättern in der Datendatei in die neue Musterdatei
3. ggf. anpassen von Formeln in den Tabellenblättern (muss nicht zwingend erforderlich sein)
4. Datei mit den Daten wieder schliessen
5. Musterdatei unter dem alten/einem neuen Namen speichern.
In der Textdatei findest du das entsprechende Grundgerüst für ein Makro.
https://www.herber.de/bbs/user/86105.txt
Gruß
Franz

Anzeige
AW: Daten in Musterdatei übernehmen/kopieren
28.06.2013 17:18:31
Bernd
Hallo Franz,
Danke sehr für deine Mithilfe. Die Textdatei kommt mir zur Hilfe, Danke!!!
Gruß
Bernd

AW: VBA Projekt updaten ohne Datenverlust in Tabellen
27.06.2013 14:32:29
Rudi
Hallo,
wenn du dein Projekt in einen Daten- und Programmteil splittest, hast du kein Problem.
UFs + Module in ein Addin, das auf die Datenmappe zugreift. Dann musst du nur das Addin austauschen. Evtl. auf einen Server legen, so dass alle auf das gleiche Addin zugreifen und du nur auf dem Server austauschen musst.
Gruß
Rudi

AW: VBA Projekt updaten ohne Datenverlust in Tabellen
27.06.2013 14:48:00
Bernd
Hallo Rudi,
toll das du mir helfen möchtest!
Addin erstellen, eines meiner 23 Probleme, ha, ha.
Grundzüge habe ich verstanden, aber wie erstellen die beiden Teile bzw. das Addin?
Kannst du mir dabei helfen?
Gruß
Bernd

Anzeige
AW: VBA Projekt updaten ohne Datenverlust in Tabellen
27.06.2013 15:36:48
Luschi
Hallo Bernd,
da fäßt Du ein ziehmlich heißes Eisen an. Eine gute/aber nicht komplette Anleitung mit funktionierenden Vba-Code findest Du hier:
http://www.rondebruin.nl/win/s9/win002.htm
Dieser Vba-Code gehört in ein Extra-Modul, welches beim Export/Import nicht übertragen wird, sonst sägt man sich den Ast ab, auf dem man gerade selber sitzt. Auch die Auswahl, aus welcher Datei will man sich den neuen Vba-Code holen fehlt. Insgesamt eine gute Grundlage, aber mehr auch nicht.
Was aber auch hier fehlt, ist die Wiedereinbindung der Klassenmodule vom Typ 'vbext_ct_Document'.
Das sind die Objekte, die im Vba-Editor unter 'Microsoft Excel Objekte' gruppiert sind.
Aber so habe ich auch einmal angefangen.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: VBA Projekt updaten ohne Datenverlust in Tabellen
27.06.2013 15:51:55
Bernd
Hallo Luschi,
Danke für deine Hilfe, aber Code Schnipsel, die ich irgendwie zusammen bastele, dafür reicht mein Verständnis für VBA nicht aus. Es geht mir um eine Art Anleitung (auf deutsch) wie ich ein Addin in einen Programmteil und Datenteil erstellen kann. Hier fehlt mir alles an Wissen.
Gruß
Bernd

AW: VBA Projekt updaten ohne Datenverlust in Tabellen
27.06.2013 16:16:06
Luschi
Hallo Bernd,
an die Verwirklichung der Trennung von Datenhaltung und Vba-Programm-Tool (AddIn) hatte ich auch mal geglaubt. Aber hier spielt Excel einfach nicht so richtig mit. Denn die Programmierung der Tabellen- und Arbeitsmappen-Ereignisroutinen bleibt sowieso in den Arbeitstabellen der Daten-Excel-Datei hängen.
Als nicht besonders geübter Vba-Programmierer ist das eben eine Hürde, die dann ein paar dm zu hoch liegt.
Aber ich will Dir gerne helfen. Schicke mir eine Excel-Datei, in der die wesentlichen Momente (Dammy-Daten dargestellt sind:
- ein paar Daten mit Berechnungen
- falls vorhanden ein Formular
- Dein Vba-Code
- und das, was sonst noch Deine Arbeitsmappe auszeichnet.
Ich ändere dann ein bischen was ab, hänge ein neues Formular dazu und bastle den in meinem Link aufgezeigten Vba-Code rein und schicke Dir das Ganze wieder zurück. Über ein Button auf einem Extra-Tabellenblatt wird dann der neue Vba-Code in Deine Ursprungstabelle übertragen.
Du wirst staunen, mit wie wenig Vba-Code das zu realisieren ist.
Gruß von Luschi
aus klein-Paris

Anzeige
Ereignisroutinen
27.06.2013 16:49:31
Rudi
Hallo Luschi,
Denn die Programmierung der Tabellen- und Arbeitsmappen-Ereignisroutinen bleibt sowieso in den Arbeitstabellen der Daten-Excel-Datei hängen.
mit einer eigenen Klasse der Application kann man die auch verarbeiten.
Gruß
Rudi

Sehr richtig, Rudi, und die ist auch gar ...
28.06.2013 00:15:50
Luc:-?
…nicht schwer herzustellen!
Gruß Luc :-?

AW: Sehr richtig, Rudi, und die ist auch gar ...
28.06.2013 11:36:09
Luschi
Hallo Luc,
das ist sicher alles machbar und in der Grundstruktur nicht allzuz kompliziert zu erstellen, aber für Vba einfach viel zu kompliziert, wenn es richtig in die Tiefe geht. Bei DOT.Net ist das ganz was anderes. Hier gibt es ab Office 2003 'Primary Interop Assembly' - PIA (auch für XP nachrüstbar), auf die dann VB.Net bzw. C# zugreifen können, um die gesamte Steuerung zu übernehmen. Da braucht man dann kein Vba mehr. Doch leider wollen viele Firmen von dieser wunderbaren Möglichkeit keinen Gebrauch machen, warum auch immer. Deshalb bleibe ich bei Vba beim Code-Austausch-Verfahren.
Der Lösungsweg von Franz, die Daten in eine neue Vba-Datei zu übernehmen, ist mit noch mehr Haken und Ösen gepflastert. Auch auf diesem Gebiet habe ich nicht nur gute Erfahrungen gemacht:
- externe Verknüpfungen
- Falschfarbendarstellungen
- definierte Namensbereiche
- neuerdings bei den ListObjects, die von User verwaltet werden
- Aufbähen der Datei
- und Alles, was sich der User sonst noch so eingerichtet hat.
Das Problem mit dem Vba-Kennwortschutz habe ich bis Windows7 32-bit im Griff, mal sehen was Windows8/8.1 so mitbringt. Aber wegen der Umstellung auf VB.Net kann ich mir den Mund fusselig reden.
Keiner höhrt auch mich.
Gruß von Luschi
aus klein-Paris

Anzeige
Ja, da hast du sicher recht, ...
28.06.2013 13:50:02
Luc:-?
…Luschi,
mir wird das auch vom IT-Nachwuchs in der Familie empfohlen…
Aber es ist auch nicht so leicht, das sichere Ufer zu verlassen und wieder 'n Haufen neu zu lernen. Fürchte, da wird Bestimmtes nie fertig…! ;-)
Und die Firmen scheuen sicher den Umstellungs- und ggf Schulungsaufwand bzw es ist ihnen schnurz, wie die MA ihre Arbeit schaffen — Hptsache, sie schaffen sie.
Gruß Luc :-?

AW: VBA Projekt updaten ohne Datenverlust in Tabellen
27.06.2013 17:35:18
Bernd
Hallo Luschi,
Datei zusenden gerne per Email.
Sende mir eine kurze Email. Du bekommst dann meine Datei an die Antwortmail gehängt, einverstanden! Hier ist meine berndkiehl@gmail.com
Gruß
Bernd
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige