Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1672to1676
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

Bezeichnung im script

Bezeichnung im script
31.01.2019 06:25:45
Peter
Guten Tag
Ich habe diverse vba-scripte in meinem Excel-File integriert die sich auf verschiedene Tabellen innerhalb des Files beziehen.
Da die Anwender von diesem Excel-File in verschiedenen Regionen arbeiten und verschieden Sprachig sind, habe zum Beispiel die Italiener ihre PC auf Italienisch eingestellt und die Franzosen auf französisch.
Die Programmierung ist aber auf einem Deutschsprachigen PC erstellt.
Beispiel:
Auf Deutsch heissen die Tabellenblätter Tabelle1, Tabelle2 usw.
Auf Italienisch heissen die Tabellenblätter Tabella1, Tabella2 usw.
Auf Französisch heissen die Tabellenblätter Feuil1, Feuil2 usw.
Nun meine Frage;
Kann man im Script anstelle With Tabelle7, auch With "Verträge" schreiben?
Gruss Peter

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bezeichnung im script
31.01.2019 06:29:44
Hajo_Zi
Hallo Peter,
benutze den Internen Namen.
Du hast für Frankreich schon getesteT. Meine Erfahrung Frankreich hat ein anderes VBA.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
AW: Bezeichnung im script
31.01.2019 06:33:42
Peter
Hallo Hajo
Danke für deine schnelle Nachricht.
Dann müsste ich den script mit With Feuil7 schreiben?
AW: Bezeichnung im script
31.01.2019 06:37:42
Hajo_Zi
dazu kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.
Gruß Hajo
Anzeige
AW: Bezeichnung im script
31.01.2019 06:45:23
Peter
Ja, verständlich.
In Microsoft Excel Objekte sind die Bezeichnungen so.
Tabelle7 (Verträge)
Tabelle1 (Zusammenstellung)
Da in den jeweiligen Sprachen der vordere Teil jeweils ändert, eben Feuil usw. ist es doch möglich anstelle die Tabelle den jeweiligen Namen anzusprechen z.B. (Verträge) oder (Zusammenstellung). Der Rest vom Script hat ja nichts mit der Sprache zu tun da ja sonst alles in Englisch geschrieben wird.
Oder sehe ich das falsch?
AW: Bezeichnung im script
31.01.2019 07:10:16
Torsten
Hallo,
dann so
With Sheets("Zusammenstellung")
...dein weiterer Code...
End With
da sich ja die Namen der Tabellenblaetter nicht aendert, wenn ich das richtig verstehe.
Gruss Torsten
Anzeige
AW: Bezeichnung im script
31.01.2019 07:22:55
Torsten
Du kannst natuerlich auch noch ganz am Anfang die verschiedenen Tabellenblaetter als Variablen hinterlegen, dann musst du nicht immer die Tabellennamen jedesmal ausschreiben. Z.B.
Dim WS1 as Worksheet: Set WS1 = Sheets("Verträge")
Dim WS2 as Worksheet: Set WS2 = Sheets("Zusammenstellung")
With WS1
...dein code
End With

AW: Bezeichnung im script
31.01.2019 09:06:47
Peter
Hallo Torsten
Herzlichen Dank für deinen Beitrag.
Das mit deinem Code ist eine coole Sache.
Die Grundbezeichnung der Tabelle1 wird jedoch je nach Spracheinstellung vom PC geändert.
Deutsche PC Einstellung
Tabelle1 (Verträge) oder Tabelle7 (Zusammenstellung)
Italienische PC Einstellung
Tabella1 (Verträge) oder Tabella7 (Zusammenstellung)
Französische PC Einstellung
Feuil1 (Verträge) oder Feuil7 (Zusammenstellung)
Da es aber bei deiner Variante keine Relevanz mehr hat, kann ich mit Code arbeiten.
Gruss Peter
Anzeige
AW: Bezeichnung im script
31.01.2019 07:14:35
Matthias
Hallo
Bsp.

Option Explicit
Sub tt()
Dim MyObjTab As Worksheet
Set MyObjTab = Worksheets("Verträge")
With MyObjTab
.Cells(1, 1) = "Hallo"
End With
MsgBox MyObjTab.CodeName 'zum Testen(Verstehen)
End Sub
Gruß Matthias
AW: Bezeichnung im script
31.01.2019 08:57:56
Peter
Hallo Matthias
Danke für deinen Input. Ich probiere es aus.
lg Peter
AW: Bezeichnung im script
31.01.2019 09:27:33
Daniel
Hallo Peter,
du kannst alternativ auch die festen "Hintergrundnamen" (weiß gerade nicht den richtigen Begriff) der Tabellenblätter im VBA Editor festlegen und mit diesen arbeiten (hat auch den Vorteil, dass du immer IntelliSense verfügbar hast). Diese Namen ändern sich nicht, auch nicht über internationale Versionen und ändern auch nicht den sichtbaren Blattnamen. Ist auch praktisch damit zu arbeiten, weil du nur den Namen ansprechen kannst im Code und keine Variable brauchst (z.B. Test.Range(...) anstelle von Sheets("Tabelle1").Range(…)). Habe versucht, die Einstellung im angehängten Bild anzugeben.
Userbild
Gruß
Daniel
Anzeige
AW: Bezeichnung im script
31.01.2019 09:44:12
Peter
Hallo Daniel
Danke dir, habe ich eben mal ausprobiert. Deine Lösung funktioniert auch.
Auf das bisherige Projekt bezogen, kann ich mir vorstellen deine Variant zu benutzen, da ich bereits schon diverse verschiedene Scripts im Dokument habe.
Für ein neues Projekt, könnte ich mir die Variante von Torsten vorstellen.
Herzlichen Dank an euch alle. Super Feedback.
lg Peter
Das ist ja auch ein richtiger Weg, ...
31.01.2019 23:33:24
Luc:-?
…Peter & Daniel,
denn bei den Defaults für die CodeNames steht zu befürchten, dass diese sich mit der Sprachversion ändern. Hajo meint zwar nein, aber zumindest bei neuen Dateien und ggf auch in anderer Sprachversion angelegten neuen Blättern dürfte das so sein. Außerdem kann man eine Datei mit Default-CodeNames (inkl VBAProject nicht als Quelle unter Verweise angeben, wenn die verweisende Datei denselben CodeName hat.
Da Xl Texte grundsätzlich nicht übersetzt, fktionieren auch die dt BlattNamen. Allerdings halte ich die bei internationalem Gebrauch generell für nicht sonderlich günstig…
Hajo meinte außerdem noch, dass für Frankreich ein anderes VBA infrage kommt. Dabei dürfte es sich um eine komplett frz Variante handeln (früher gab's so etwas auch in Deutsch). Allerdings sollte das US-Original überall fktionieren, auch, wenn sonst die frz Version benutzt wird.
Gruß, Luc :-?
Anzeige
AW: Bezeichnung im script
31.01.2019 18:50:33
Hajo_Zi
Hallo Peter,
ich habe es in Deutsch mit Tabelle1 getest und die gleiche Datei in Englisch getestet und der Code läuft auch ohne Änderung.
Gruß Hajo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige