Vba: Excel Sheet Name

scue

Cadet 4th Year
Registriert
Aug. 2008
Beiträge
68
hallo, ich möchte in einer zelle in vba den aktuellen worksheet namen ausgeben lassen. sollte ich den namen verändern, möchte ich das er sich in der zelle automatisch ändert. bisher sieht mein code folgendermaßen aus:

PHP:
Sub Test(Name, Koordinaten)
    Cells(Koordinaten).Value = Name
End Sub

Public Function Name_Worksheet()
    Koordinaten = Replace(ActiveCell.Address, "$", "")
    Name = ActiveSheet.Name
    Call Test(Name, Koordinaten)
End Function

aber irgendwo hackts und ich weiß nciht wo. bekomme da einen fehler

gruß und vielen dank
 
Welchen Fehler?
Ist das Blatt überhaupt aktiv?

Klappt es wenn du es so schreibst?

dim ws as worksheet

for each ws in ThisWorkbook.Worksheets
Range("A1") = ws.Name
next
 
hi,

er bringt mir den fehler

"Luafzeitfehler '1004':
Anwendungs- oder objektdefinierter Fehler"

wenn ich statt der Koordinaten die er ausliest andere eingebe, wie A2 dann schreibt er es hinein
 
Versuchs mal damit...
Cells must Du dann halt ändern, ist jetzt A1

Sub test()
Cells(1, 1).Value = ActiveSheet.Name
End Sub

Ahso, hab das automatisch nicht gelesen, bin dran....

Es "sollte" so gehen, ein ähnlicher Code der funktioniert bekomm ich bei mir warum auch immer grade nicht zum laufen, versuchs einfach mal...

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If ActiveSheet.Name <> Cells(1, 1) Then Cells(1, 1) = ActiveSheet.Name Else
End If
End Sub
 
Zuletzt bearbeitet:
hey danke,

bringt mich aber noch nciht ganz weiter. ich hatte es mir eher so vorgestellt das ich in eine zelle schreibe "=Worksheet_name(i)" und für i den Index des Blattes ... ähnlich wie bei Summe, da bleibt der befehl ja auch in der zeile stehen. Wenn ich eine Ausgabe erzeuge dann überschreibt er auch den "=Worksheet_name(1)" befehl.
 
VIEEELEN DANKE!

genau das was ich gesucht habe

edit: rückzieher^^ fast das was ich suche, wenn ich es in tabelle 1 und tabelle 2 einfüge, steht dann bei beiden das gleiche, obwohl sie unterschiedliche namen haben?!
 
Zuletzt bearbeitet:
Wie trägst du die Formel denn ein?
Ich habe bei mir auf allen Tabellenblättern den richtigen Namen wenn ich die Formel so wie oben steht kopiere und einfüge.

Du kannst noch folgendes ändern:
=TEIL(ZELLE("Dateiname";A2);FINDEN("]";ZELLE("Dateiname"))+1;1000)
Wobei A2 einfach irgendeine Zelle auf dem Blatt ist.
 
danke mit dem A2 funktioniert es jetzt, man muss einen bezug angeben ... sonst hat er mir in jeder tabelle den gleichen namen ausgeben.

so nochmal^^

VIEEELEN DANKE!
 
Zurück
Oben