Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
936to940
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
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Code mit Makro ändern

Code mit Makro ändern
01.01.2008 14:01:43
Micha

Hallo zusammen und erst mal ein gesundes, neues Jahr...
ich hoffe Ihr könnte mir helfen. Ich habe bei ca. 200 Usern eine Tabelle mit einem Makro "draußen". Nun habe ich festgestellt, das es einen Fehler in einem Makro gibt. Es muss ein Zahlenwert im Makro geändert werden.
Die Position (Ort) der Änderung und Makro ist mir alles bekannt, muss nur wissen wie ich die Zeile im Makro ersetzen kann...
Vielen Dank für Eure Hilfe...
Gruß Micha

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ergänzung
01.01.2008 14:19:13
Micha
Erschwerend kommt für mich noch hinzu, das das gesamte VBA Projekt mit einem Passwort versehen ist. Das muss vorher erst einmal entsperrt werden. Das Passwort habe ich aber selbst vergeben, es ist also bekannt...
Danke Euch.
Gruß Micha

AW: Tabellencode ersetzen
01.01.2008 14:26:36
Hallo,
mal ein Beispiel für ersetzen des Tabellencodes.


Sub Code_ersetzen()
Const WS1 As String = "Tabelle1"
Dim LineNr As Integer
With ThisWorkbook.VBProject.VBComponents(Worksheets(WS1).CodeName).CodeModule
.DeleteLines 4
.InsertLines LineNr + 4, "MsgBox ""Ersatzzeile"""
End With
End Sub


Gruß, Orakel

Anzeige
AW: Tabellencode ersetzen
01.01.2008 15:07:46
Daniel
Hi
und zum Thema "Entsperren" such mal im Forum nach dem Thread "VBA Kennwort" von Lorenz.
da gehts um das Thema.
Gruß, Daniel

AW: Tabellencode ersetzen
01.01.2008 17:55:10
Micha
Hallo Orakel,
vielen Dank erst einmal. Nur bekomme ich beim Ausführen der Befehle immer einen Hinweise, das ein Wechsel in den Haltemodus nicht passieren kann.
Außerdem muss ich in der Makrosicherheit einen Haken setzen, um die Bearbeitung der Module zuzulassen. Es ist sicherlich eine Notlösung, aber vielleicht hast Du ja noch eine Idee, wie ich den Code "hintenrum" bearbeiten kann?
Danke Dir...
Gruß Micha

AW: Tabellencode ersetzen
01.01.2008 19:20:26
Uduuh
Hallo,


Außerdem muss ich in der Makrosicherheit einen Haken setzen, um die Bearbeitung der Module zuzulassen. 


Das kannst du nicht umgehen.
Gruß aus’m Pott
Udo

Anzeige
AW: Tabellencode ersetzen
01.01.2008 19:41:11
fcs
Hallo Micha,
da wir die Prozeduren nicht kennen, die du jetzt verwendest, können wir nur bedingt helfen. (ggf. Passwort im Code durch Dummy-Text ersetzen!!)
Ausführung im Haltemodus nicht möglich bedeutet in Excel-VBA, dass die gewünschte Funktion im VBA-Editor nicht per Einzelschritt-Modus möglich ist bzw. dass in der Prozedur keine Haltepunkte gesetzt werden können. D.h. die gewünschten Prozeduren können nur im "Blindflug" ohne Testmöglichkeit ausgeführt werden.
Hierzu gehören unter anderem Tastaturbefehle, die per VBA-Code an Dialogfenster gesendet werden sollen. Und dies ist bei der Eingabe des VBA-Projektkennworts via VBA-Code der Fall.
Die Einstellung der Makrosicherheits-Stufe kannst du meines Wissens nicht umgehen. Dies erfordert einen Eingriff in die Registry-Datei bzw. sonstige Datei in der die Optionen von Excel gespeichert werden. Dieses Sicherheits-Feature wurde von Microsoft eingeführt, um das zu verhindern was du vorhast, nämlich den externen Zugriff auf VBA-Module.
Gruß
Franz

Anzeige
AW: Tabellencode ersetzen
01.01.2008 20:42:49
Hallo Micha,
wo ein Wille ist, da gibt es sicher Wege. Aber ich denke Du solltest den aufrechten Gang gehen. Du könntest die User bitten, zwecks Update entsprechende Vertrauenswürdigkeit herzustellen und diese im Anschluss bitte wieder zurückzusetzen. Es kann Wunder wirken, wenn AnwenderInnen beim Updaten ihres "Arbeitsgerätes" mit einbezogen werden.
Anbei mal eine Datei, mit der Du ein komlettes "Allgemeines Modul" in einer anderen Datei austauschen könntest.
https://www.herber.de/bbs/user/48748.xls
Gruß, Orakel

Anzeige
AW: Tabellencode ersetzen
02.01.2008 10:50:31
Micha
Vielen Dank Euch allen,
ich komme aber irgendwie nicht weiter. Habe Euch mal ein Beispiel gebaut.
https://www.herber.de/bbs/user/48751.xls
In der Tabelle ist ein Makro im Modul1. Es hat sich ein Fehler eingeschliechen, Ihr seht ihn. Da diese Tabelle nun bei rund 200 Usern unterwegs ist, möchte ich ein Update bauen. Das habe ich in der Vergangenheit schon ein paar Mal gemacht, wenn es um Formatierungsdinge o.ä. ging.
Diesmal muss der VBA Code geändert werden, und ich weis nicht wie... Macht es vielleicht mehr Sinn, das Modul zu bearbeiten und dann einen Export / Import bei den Usern zu machen?
Danke für Eure Hilfe...
Viele Grüße
Micha

Anzeige
AW: Tabellencode ersetzen
02.01.2008 21:29:54
Orakel
Hallo Micha,
a: Lass uns nicht Rätseln, was der Fehler ist.
b: Die Passwortzeichen sind keine Sternchen , sondern Plus-Zeichen.
Wie ein Modul ausgetauscht werden kann, zeigt meine Beispieldatei weiter oben. Wenn Du allerdings das Project-Kennwort vorher per Makro umgehen willst, wirst Du mit halbwegs einfachen Bordmitteln scheitern. Mit dem Befehl SendKeys könntest Du das bewerkstelligen. Aber nur für die Datei, in der das entsprechende Makro bereits steht.
Damit greifst Du jedoch nicht auf eine 2. Datei zu. Hinzu kommt, dass dies auch noch je nach Excel-Version unterschiedlich aussehen würde.
Beispiel:
So entferne ich den Projektschutz einer Datei bei mir:


Sub unlocking()
SendKeys ("%{f11}")
SendKeys ("%xi")
SendKeys ("MeinPasswort")
SendKeys ("{Enter}")
SendKeys ("{Tab 7}")
SendKeys ("{Enter}")
End Sub


Ich denke Dir bleibt nur der Weg, mit den Anwendern Kontakt aufzunehmen und ihnen eine sehr gute Gebrauchsanweisung an die Hand zu geben, damit sie dies selbst erledigen können. Zumindest die entsprechenden Schutzmechanismen zu beseitigen. Den Rest könnte ja eine Datei erledigen.
Gruß, Orakel

Anzeige
anders herum
03.01.2008 22:03:02
Orakel
machs doch anders herum. Schick eine komplett korrigierte Datei hin, am besten in das gleiche Verzeichnis. Hol Dir die Tabellen aus der Userdatei, lösch Deine Dummytabelle, lösch die Userdatei und benenn Deine Datei so wie die ehemalige Userdatei.
Alles da und wie neu. ;-)
Gruß, Orakel

AW: anders herum
04.01.2008 09:54:40
Micha
Hallo, grüße Dich...
wahrscheinlich ist das einfacher. Werde ich wohl mal eben ein kleines Importmakro bauen.
Hab vielen Dank für Deine Mühe....
Gruß Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige