Excel: Tabellenblattnamen aus Datei erstellen (bitte kein VBA)?

... komplette Frage anzeigen

2 Antworten

Das Springen auf die anderen Tabellenblätter geht: Das ist quasi ein Hyperlink innerhalb des Dokuments auf eine bestimmte Textstelle

#Tabelle2! ruft bspw. die Tabelle 2 auf. Du Kannst nach dem "!" auch noch eine bestimmte Zelle A10 oder was auch immer angeben.

Das Generieren von Tabellenblattnamen geht aber nicht ohne VBA. So schwer ist es aber nicht:

Sub Sheetsanlegen()
i = 3
While Personal.Cells(i, 2).Value <> ""
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = Personal.Cells(i, 2).Value
    i = i + 1
    Wend
End Sub

Das musst Du noch nicht einmal speichern (Dateityp kann also xlsx bleiben), sondern nur einmal durchlaufen lassen.

Antwort bewerten Vielen Dank für Deine Bewertung

Setze doch Hyperlinks. Entweder über 

Einfügen → Hyperlink → Aktuelles Dokument ...

oder per Formel:

=HYPERLINK("[xxx.xlsx]Müller!A1";"Müller")
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Suboptimierer
09.11.2015, 10:57

Du könntest das alternativ zu VBA mit einer JScript-Datei lösen (Dateiendung js):

var i;
var oExcel = new ActiveXObject("Excel.Application");
var oWB = oExcel.workbooks.Open("E:\\tmp\\xxx.xlsx");
var tblPersonal = oWB.sheets("Personal");
var tblNew;var sNewName;oExcel.Visible = true;

for(i=3;i<=12;i++)
{
 sNewName = tblPersonal.range("B"+i).value;
 tblNew = oWB.worksheets.add();
 tblNew.name = sNewName;
 tblPersonal.range("C"+i).formulaR1C1 = "=HYPERLINK(\"[xxx.xlsx]"+sNewName+"!$A$1\",\""+sNewName+"\")";
}
tblPersonal.activate();
1

Was möchtest Du wissen?