Excelproblem Makros und Laufwerke
Hallo an alle, die was von Excel und Makros verstehen.
Ich habe folgendes Problem:
Ich habe eine Excelmappe mit einem Prog. und dazu ne Menge Makros.
Funzen auch alle.
Jetzt habe ich mir mit der Aufzeichnungsfunktion ein riesen Schnipsel zusammengehauen der eine Art Upgrade des Programms bewirkt.
Dieses Programm haben viele meiner Kollegen und jeder hat dies unter einem anderen Verzeichnis gespeichert.
Z.B.: unter C:\ oder unter F:\ oder unter D:\...
Folgender Code beruft sich aber auf eine Laufwerksangabe:
ChDir "F:\Excelprogramme\"
ActiveWorkbook.SaveAs Filename:="F:\Excelprogramme\Excelprogramm Upgrade.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Wenn jetzt z.B. der Kollege sein Programm Upgraden will gibt es eine Fehlermeldung, denn das Makro findet das Laufwerk nicht!!
Bei mir funzt alles, aber nur weil meine Laufwerke stimmen.
Kann mir jemand helfen????
Der Code ist ziemlich lang und meine Mappe ist mit einem Passwort geschützt ebenso der VBA Editor.
Antwort schreiben
Antwort 1 von Hajo_Zi vom 26.03.2019, 19:41 Options
Hallo Namensloser,
schreibe Ihnen Sie solen Deine Datei dort hin spielen wo die anderen auch sind und benutze ThisWorkbook.Path
Gruß Hajo
Antwort 2 von Schnipsel vom 26.03.2019, 20:00 Options
Gut das kann ich denen sagen, aber was bedeutet
ThisWorkbook.Path ???
Antwort 3 von Hajo_Zi vom 26.03.2019, 20:09 Options
Hallo Namensloser,
das ist der Ordner in dem die Datei mit dem Makrio liegt. Das hätte ich aber als bekannt angenommen, bei jemanden der Makrocode per Makro ändert.
Gruß Hajo
Antwort 4 von Schnipsel vom 26.03.2019, 20:39 Options
Is schon richtig,
nur ich hab mich in meinen Makros immer nur auf um und bei 7 Funktionen beschränkt, mit denen ich bisher sehr weit gekommen bin.
Der Rest kommt automatisch vom Assistenten, wenn ich z.B. ein Marko aufzeichne.
Gibt es nicht eine Funktion, die herausfindet auf welchem Laufwerk und auf in welchem Verzechnis man gerade arbeitet????
Oder noch anders.
Ich erkläre mal was das Upgrade tut.
Ich habe eine Tabelle wo Messwerte eingetragen sind. Wenn diese voll ist dann möchte man ja bestimmt nicht dort aufhören.
Es wäre aber auch sinnlos nur so mal 500 Zeilen für Messwerte zu reservieren!!!
Also habe ich mir gedacht, dass man ein Modul ausführt, dass dann 5 weitere Zeilen einfügt und auch gleichzeitig die verwendeten sehr langen Formeln mit aktualisiert und die neuen Zeilen mit in die Diagramme einbindet.
Das funzt auch alles soweit.
Nun habe ich mir das Modul mal angesehen.
Wenn ich per Aufzeichnungsfunktion die Diagramme anklicke, dann steht im Modul folgendes:
ActiveWindow.Visible = False
Windows("Excelprogramm Upgrade.xls").Activate
ActiveSheet.ChartObjects("Diagramm 1").Activate
Und das
Windows("Excelprogramm Upgrade.xls").Activate
stört, denn das kann nur aktiviert werden, wenn es genau dem Abspeicherungsnamen entspricht sowie Laufwerk und Pfad übereinstimmen.
Wenn jetzt aber das Prog. woanders gespeichert wird und oder unter einem anderen Namen, dann funzt gar nix mehr.
Löschen kann ich diese Zeilen ja auch nicht. Logisch.
Vielleicht wird hier ein anderer Lösungsansatz klar???