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

Forumthread: VBA Code mit Code ändern und Veränderung speichern

VBA Code mit Code ändern und Veränderung speichern
06.05.2006 12:23:45
Jens
Hallo,
folgendes Problem stellt sich mir in den Weg:
Ich hab ein umfangreiches Add-In programmiert in dem der User u.a. auch Exceldaten zum Druck aufbereitet bekommt.
Von mir wurden bestimmte voreinstellungen vorgenommen (Anordnung der Felder, Ein/Ausblenen der Felder usw.)
Nun soll der User auch einen "Preset"-Speicherplatz selber belegen dürfen, sprich, welche Felder er wie haben will.
Bis hierhin ist alles kein Problem.
Nun muß ich jedoch meinen VBA-Code durch den VBA-Code (bzw. den User) ändern und ganz wichtig, die Veränderung muß in dem Add-In gespeichert werden, da es ja eine Voreinstellung ist, die der User das nächste mal wieder nutzen will.
Geht sowas überhaupt?
MFG
Jens
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Code mit Code ändern und Veränderung speichern
06.05.2006 12:29:32
Nepumuk
Hallo Jens,
das geht schon, ist aber eine heikle Sache. Ich würde soche Voreinstellungen besser in der Tabelle des Addins speichern und das Programm nimmt die Einstellungen aufgrund dieser Einträge vor.
Gruß
Nepumuk

AW: VBA Code mit Code ändern und Veränderung speichern
06.05.2006 12:42:29
jens
Hallo Nepumuk
Danke für die schnelle Antwort!
Ich hab mir schon gedacht, daß es heikel ist,
ich dachte mir das folgendermaßen:
User bekommt eine Userform gezeigt, auf der er checkboxes anhakt oder leer läßt, dann drückt er "speichern" und dann "liest" mein Code diese Häkchen als variablen in meinen Code ein und verwendet diese Einstellungen das nächste mal.
Meinst du mit heikel, daß dadurch mein ganzer Code zerschossen werden kann? oder warum?
Gruß Jens
Anzeige
AW: VBA Code mit Code ändern und Veränderung speichern
06.05.2006 13:42:08
Nepumuk
Hallo Jens,
in manchen Firmen ist es gar nicht möglich den Code per Code zu verändern, weil ja ab XP der Zugriff auf das VBA-Projekt freigegeben werden muss und dies vom Admin gesperrt werden kann. Oder, wenn es z.B. beim ändern des Codes durch Code Probleme mit Excel gibt, ist dein Addin zerschossen. Am besten speicherst du diese Voreinstellungen in einer INI - Datei und liest sie bei Bedarf aus, um mit diesen Werten im Programm verzweigen. Denn, wenn du das Addin ergänzt oder korrigieren musst, wären auch alle benutzerdefinierten Einstellungen darin wieder weg.
Gruß
Nepumuk

Anzeige
AW: VBA Code mit Code ändern und Veränderung speichern
06.05.2006 13:47:47
jens
hallo Nepumuk,
hmm.. grundsätzlich glaub ich, daß es keine Probleme von seiten der Firma geben dürfte. Und leider weiß ich nicht wie du das meinst mit Voreinstellungen in INI. Datei abspeichern.
Soll ich alle möglichkeiten in einer INI. Datei ablegen und mein Programm greift dann darauf zu oder kann ich die einstellungen welche auf der Userform gemacht wurden in eine INI. Datei schreiben und mein Code liest diese dann aus?
Leider bin ich in dem Bereich nicht so der checker! :-(
Anzeige
AW: VBA Code mit Code ändern und Veränderung speichern
07.05.2006 12:41:28
Jens
Hallo Dennis,
an sowas hatte ich auch gedacht, aber leider muß das Tool als Add-In funktionieren und so hab ich sozusagen doch kein blatt zur verfügung in welches ich daten schreiben kann, welches mir dann beim nächsten mal wieder zur verfügung steht. interesant wäre noch der Ansatz von nepumuk mit der INI datei ich glaub ich mach mich da mal schlau!
Danke schön!
Gruß
Jens
Anzeige
AW: VBA Code mit Code ändern und Veränderung speic
07.05.2006 16:09:58
Josef
Hallo Jens!
"aber leider muß das Tool als Add-In funktionieren und so hab ich sozusagen doch kein blatt zur verfügung in welches ich daten schreiben kann"
Das Stimmt nicht! Die Blätter sind nur nicht sichtbar, du kannst per VBA aber
ganz normal darauf zugreifen!
Gruß Sepp
Anzeige
AW: VBA Code mit Code ändern und Veränderung speic
07.05.2006 16:24:36
jens
Hmm...
ich dachte ich könnte keine Blätter an ein Add-In "hängen". Dann ist es natürlich kein Problem!
Peinlich!
Danke Schön für alle Vorschläge und Mühe!
Viele Grüße
Jens
AW: VBA Code mit Code ändern und Veränderung speic
07.05.2006 20:33:00
Reinhard
Hi Jens,
ich hab da keine Add-In Erfahrung, aber ich las schon mehrmals, man soll nicht eine Datei erstellen und als Add-In speichern, sondern quasi das doppelt machen, eine ganz normale xls pflegen/veränndern und auch als xls abspeichern und dann die Gleiche als Add-In.
Soll pflegeleichter sein, wie gesagt, keine Erfahrunswerte.
Gruß
Reinhard
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Code ändern und speichern in Excel


Schritt-für-Schritt-Anleitung

  1. Erstellen der Userform: Erstelle eine Userform, auf der der Benutzer die gewünschten Optionen auswählen kann, zum Beispiel durch Checkboxes.

  2. VBA-Code schreiben: Schreibe den VBA-Code, der die Auswahl des Benutzers verarbeitet. Achte darauf, dass die Auswahl als Variablen gespeichert wird.

    Dim userSelection As Boolean
    userSelection = CheckBox1.Value
  3. Speichern der Einstellungen: Um die Voreinstellungen zu speichern, ist es empfehlenswert, diese in einer INI-Datei abzulegen oder in einem unsichtbaren Blatt des Add-Ins.

    ' Beispiel zum Schreiben in eine INI-Datei
    WritePrivateProfileString "Settings", "UserChoice", userSelection, "C:\path\to\your\settings.ini"
  4. Laden der Einstellungen: Implementiere einen Code, der die gespeicherten Einstellungen beim Starten des Add-Ins lädt.

    ' Beispiel zum Lesen aus einer INI-Datei
    GetPrivateProfileString "Settings", "UserChoice", "", userSelection, 255, "C:\path\to\your\settings.ini"
  5. Testen der Funktionalität: Stelle sicher, dass die gespeicherten Einstellungen korrekt geladen werden und der VBA-Code entsprechend angepasst wird.


Häufige Fehler und Lösungen

  • Fehler: Zugriff verweigert: Wenn Du beim Speichern oder Ändern des VBA-Codes auf einen Fehler stößt, könnte dies an den Sicherheitseinstellungen Deines Unternehmens liegen. Kläre dies mit Deinem Admin.

  • Lösung: Speichere die Benutzereinstellungen lieber in einer INI-Datei oder in einem unsichtbaren Blatt, um diese Probleme zu umgehen.

  • Fehler: Code wird nicht ausgeführt: Wenn der VBA-Code nicht wie erwartet ausgeführt wird, überprüfe die Benutzerform auf korrekte Verknüpfungen.

  • Lösung: Achte darauf, dass alle Variablen ordnungsgemäß deklariert sind und die Userform richtig initialisiert wird.


Alternative Methoden

Es gibt verschiedene Ansätze, um die Benutzereinstellungen zu speichern:

  • INI-Datei: Wie bereits erwähnt, können Voreinstellungen in einer INI-Datei gespeichert werden. Dies bietet Flexibilität und ist unabhängig vom Excel-Dokument.

  • Unsichtbares Arbeitsblatt: Du kannst ein Arbeitsblatt im Add-In erstellen, das unsichtbar ist, aber dennoch zur Speicherung von Daten verwendet werden kann. Dies ist eine direkte Methode, um Voreinstellungen zu speichern und darauf zuzugreifen.


Praktische Beispiele

  • Beispiel 1: Speichern von Druckeinstellungen: Angenommen, der Benutzer möchte bestimmte Druckoptionen festlegen. Du kannst die Auswahl in einer INI-Datei speichern und beim nächsten Start des Add-Ins wieder laden.

  • Beispiel 2: Benutzerdefinierte Layouts: Wenn der Benutzer ein spezifisches Layout für die Datenanzeige wählt, speichere diese Einstellungen in einem unsichtbaren Blatt. Der Code kann dann beim Start des Add-Ins die Sichtbarkeit und Anordnung der Felder steuern.


Tipps für Profis

  • Verwende erläuternde Kommentare: Schreibe Kommentare in Deinen VBA-Code, damit Du und andere Benutzer später leichter nachvollziehen können, was der Code bewirken soll.

  • Regelmäßige Backups: Erstelle regelmäßig Backups Deiner INI-Dateien oder Arbeitsblätter. So kannst Du im Falle eines Fehlers schnell wiederherstellen.

  • Vermeide direkte Codeänderungen: Wo immer möglich, versuche, die Einstellungen extern zu speichern, anstatt den VBA-Code direkt zu ändern. Dies reduziert das Risiko, den bestehenden Code zu beschädigen.


FAQ: Häufige Fragen

1. Ich kann keine Blätter an mein Add-In hängen. Wie kann ich dann Daten speichern? Es ist ein Missverständnis, dass Du keine Blätter an ein Add-In anhängen kannst. Du kannst unsichtbare Blätter verwenden, um Daten zu speichern und über VBA darauf zuzugreifen.

2. Was ist der Vorteil einer INI-Datei gegenüber einem Arbeitsblatt? Eine INI-Datei ist einfacher zu handhaben, wenn es um externe Konfigurationen geht. Sie ist unabhängig vom Excel-Dokument und kann in verschiedenen Anwendungen verwendet werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige