Hallo Excel-Guru's!
Ich stehe vor einer Frage, die mich langsam aber sicher verzweifeln lässt.
Ich habe eine Tabelle, die in Spalte A eine fortlaufende Nummerierung beinhaltet, in Spalte B stehen die Tabellennamen der aktuellen Arbeitsmappe in deutsch, in Spalte C in italienisch und in Spalte D in englisch.
Je nach Benutzersprache soll der Name aller Tabellen in der jeweiligen Sprache "umgetauft" werden, wenn keine Sprache zutrifft, dann soll die Sprache Englisch ausgegeben werden.
Die Sprache ermittle ich wiefolgt:
Sub Code()
Country_Code = Application.International(xlCountryCode)
If Country_Code = 49 Then
MsgBox ("de")
ElseIf Country_Code = 39 Then
MsgBox ("it")
ElseIf Country_Code = 1 Then
MsgBox ("en")
End If
End Sub
Wer hat da eine Idee, wie ich das bewältigen kann?
Danke im Voraus!
LG, Gustav
Hallo,
eine interessante Problemstellung!
Hmmm... versuch mal so:
Sub Code()
Dim i As Long, Country_Code as Long
Country_Code = Application.International(xlCountryCode)
If Country_Code = 49 Then
MsgBox "Sprache = de"
For i = 1 To Worksheets.Count
Worksheets(i).Name = Cells(i, 2) 'Beginnt in Zeile 1(i) und Spalte 2 (B)
Next
ElseIf Country_Code = 39 Then
MsgBox "Sprache = it"
For i = 1 To Worksheets.Count
Worksheets(i).Name = Cells(i, 3) 'Beginnt in Zeile 1(i) und Spalte 3 (C)
Next
ElseIf Country_Code = 1 Then
MsgBox "Sprache = en"
For i = 1 To Worksheets.Count
Worksheets(i).Name = Cells(i, 4) 'Beginnt in Zeile 1(i) und Spalte 4 (D)
Next
End If
End Sub
oder eine andere Variante, die mir persönlich besser gefällt :)
Sub Code()
Dim i As Long, Country_Code as Long
Country_Code = Application.International(xlCountryCode)
Select Case Country_Code
Case 49
MsgBox "Sprache = de"
For i = 1 To Worksheets.Count
Worksheets(i).Name = Cells(i, 2) 'Beginnt in Zeile 1(i) und Spalte 2 (B)
Next
Case 39
MsgBox "Sprache = it"
For i = 1 To Worksheets.Count
Worksheets(i).Name = Cells(i, 3) 'Beginnt in Zeile 1(i) und Spalte 3 (C)
Next
Case Else
MsgBox "Sprache = en"
For i = 1 To Worksheets.Count
Worksheets(i).Name = Cells(i, 4) 'Beginnt in Zeile 1(i) und Spalte 4 (D)
Next
End Select
End Sub
Voraussetzung ist dass für jedes Arbeitsblatt ein Eintrag in deiner Auflistung der Namen steht - die Liste der Tabellennamen muss in der ersten Zeile beginnen - sonst hast du unbenannte Arbeitsblätter,
das dann wiederum einen Laufzeitfehler 1004 (anwendungs- oder objektdefinierter Fehler) hervorrufen würde.
Beachte bitte, dass auch dein Arbeitsblatt mit den Tabellennamen umbenannt wird, da es sich in der gleichen Arbeitsmappe befindet.
HTH