Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen explizit mit Dateiname ansprechen
#1
Hallo Forum,
ich habe mal wieder eine (wahrscheinlich ziemlich laienhafte) Frage:

Ich habe mir ein VBA geschrieben, das ziemlich lange läuft, weil ich darin die optimale Belegung für Tennisplätze ermittle - je länger ich das Programm laufen lasse, um so besser ist das Ergebnis. Lasse es also durchaus auch mal 20 Stunden laufen. Hat aber leider den Nachteil, dass ich während dieser Zeit nichts anders (in Excel) machen kann, weil ich zwischendurch immer die aktuell gefundenen Ergebnisse im Dokument speichere. Einfaches Beispiel dafür ist:

Worksheets("Basisdaten").Cells(11, 2) = Time

Frage: Gibt es die Möglichkeit, dass ich zusätzlich zu dem Namen des Sheets auch den Namen der Datei, in der das Sheet ist, angebe? Also z.B.

Datei_xyz.Worksheets("Basisdaten").Cells(11, 2) = Time (diese Version funktioniert allerdings nicht Sad).

Dann könnte ich in beliebige andere Excelsheets wechseln und das VBA "wüsste" wo es das Sheet "Basisdaten" findet.

Danke für einen Tipp

Klaus
Antworten Top
#2
Moin!
Ich nehme ja an, dass Dein Code in der Datei_xyz ist.
Dann ThisWorkbook.Worksheets("Basisdaten")

Jetzt kommt aber das große aber:
Während der Laufzeit des Makros wirst Du nicht in anderen Mappen arbeiten können!
Mögliche Lösung:
Lass die Makro-Datei in einer separaten Instanz laufen und gib im Makro regelmäßig (Schleifendurchläufe?) dem Betriebssystem mittels DoEvents etwas Luft zum Atmen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Wie lasse ich das denn in einer eigenen Instanz laufen? ("Do Events" habe ich genügend drin, weil ich zwischendurch immer mal wieder stoppen möchte, um mir den aktuellen Stand anzugucken)
Antworten Top
#4
(14.08.2016, 09:04)RPP63 schrieb: Ich nehme ja an, dass Dein Code in der Datei_xyz ist.
Dann ThisWorkbook.Worksheets("Basisdaten")
Woher "weiß" denn das Programm, dass "ThisWorkbook" die Datei "Datei_xyz" ist?
Antworten Top
#5
Moin!
Zitat:Woher "weiß" denn das Programm, dass "ThisWorkbook" die Datei "Datei_xyz" ist?
Wenn ich mich als "Ich" bezeichne, dann weiß ich, dass ich der Ralf bin.  :21:
Deshalb "weiß" VBA, dass ThisWorkbook die Datei ist, in der der Code steht.
Zitat:Wie lasse ich das denn in einer eigenen Instanz laufen?
Ich habe eine Verknüfung zu Excel in der Taskleiste.
Dann Rechtsklick, "Microsoft Excel 2010"
Ansonsten kurz googlen, da gibt es etliche Möglichkeiten.
Zitat:"Do Events" habe ich genügend drin, weil ich zwischendurch immer mal wieder stoppen möchte, um mir den aktuellen Stand anzugucken
"Mein" "Do Events" heißt DoEvents; ich bin mir nicht sicher, dass wir das Gleiche meinen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
(14.08.2016, 09:24)RPP63 schrieb: ...
Ansonsten kurz googlen, da gibt es etliche Möglichkeiten.
"Mein" "Do Events" heißt DoEvents; ich bin mir nicht sicher, dass wir das Gleiche meinen.
Hallo Ralf,
Danke für deine Antworten.
Wie du an der (einfachen) Frage vielleicht merkst, bin ich nicht der Experte - deshalb frage ich ja im Forum.
Ich bin mir ziemlich sicher, dass ich auch die Frage nach dem "ThisWorkbook" hätte ergoogeln können.
Ich dachte, dass das Forum dafür da ist, jemandem der weniger weiß als man selbst, seine Hilfe zu geben. Scheint nicht ganz so zu sein, wenn der Tipp dann heißt: "google mal". Werde ich dann wohl oder übel tun müssen, falls alle so denken. Habe das mit Tipp für eine eigene Instanz nicht verstanden.
"Mein" "Do Events" heißt natürlich auch DoEvents und da bin ich mir ziemlich sicher, dass wir das Gleiche meinen. Sorry für das Leerzeichen.
Gruß
Klaus
Antworten Top
#7
Na, so was habe ich auch noch nicht erlebt!  :s

Zitat:Habe das mit Tipp für eine eigene Instanz nicht verstanden.
Ziehe mit der Maus das Excel-Symbol aus dem Startmenü in die Taskleiste und verfahre wie oben angemerkt.
Ich hatte irrtümlich gedacht, dass das Erstellen einer Verknüpfung "tägliches Brot" ist.
Und nein! ich werde Dir die anderen Möglichkeiten nicht suchen.

Zitat:Werde ich dann wohl oder übel tun müssen, falls alle so denken.

Ich habe Dir nicht geantwortet, dass man alle Deine Fragen leicht ergooglen kann, 
sondern Dir konkrete Tipps gegeben.

Aber entschuldige, wird nicht wieder vorkommen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hallo Rolf,
sorry, hatte irrtümlich angenommen, du wüsstest die Möglichkeiten mit dem Erstellen von Instanzen. Selbstverständlich sollst du nicht für mich "suchen".

Verstehe zwar immer noch nicht den Unterschied, wenn ich Excel über die Taskleiste öffne ggü. dem, wenn ich Excel über eine Verknüpfung am Desktop öffne, aber egal.

Danke für die Info.

Gruß

Klaus
Antworten Top
#9
(14.08.2016, 11:47)lakiexceler schrieb: Hallo Rolf,
Verzeihung, meinte natürlich "Hallo Ralf" - da war der Finger schneller als der Kopf
Antworten Top
#10
Moin!
Zitat:sorry, hatte irrtümlich angenommen, du wüsstest die Möglichkeiten mit dem Erstellen von Instanzen.
Sorry, ich habe Dir doch bereits zweimal eine Anleitung gegeben.
Woran hakt es?
Verknüpfung in der Taskleiste erstellen?
Rechtsklick auf das Symbol und "Excel" wählen??

(Disclaimer: Dies funktioniert mit Deiner angegebenen Version 2010, ab 2013 hat sich einiges unter der Oberfläche getan, die neue Instanz dürfte aber genauso aufzurufen sein)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste