Gibt es eine Möglichkeit, den Namen eines Tabellenblatts auszulesen und
den Wert oder die Zeichenfolge in eine Zelle einzufügen? Wenn ja, wie
stell' ich das bloß an?
Gruß Christian
Hallo Christian,
wie folgt:
=ZELLE("Dateiname"; A1)
MfG Frank
__________________________________________________________
E-Mail: Thei...@t-online.de
Christian Lindemann schrieb:
> Hi Ihr Excel-Freaks!
>
> Gibt es eine Möglichkeit, den Namen eines Tabellenblatts auszulesen und
> den Wert oder die Zeichenfolge in eine Zelle einzufügen? Wenn ja, wie
> stell' ich das bloß an?
>
> Gruß Christian
Hallo Christian,
Bin zu 2 Möglichkeiten gekommen.
1.
Sub NameTabellenblatt1()
Worksheets(1).Range("A1").Select
Dim i As Integer
For i = 1 To ActiveWorkbook.Sheets.Count
Selection.Value = Sheets( i ).Name
Selection.Offset(1, 0).Select
Next
End Sub
Mit diesem Makro listet Dir Excel alle Arbeitsblätter, der gerade aktiven
Arbeitsmappe, im 1. Arbeitsblatt, ausgehend von Zelle A1, untereinander
auf.
2.
Sub NameTabellenblatt2()
Worksheets(1).Range("A1").Select
Selection.Value = Sheets(2).Name
End Sub
Mit dem 2.Makro kannst Du ein bestimmtes Tabellenblatt (in diesem Fall das
2. - Sheets(2)) anzeigen lassen.
Der Anzeigeort ist natürlich nur exemplarisch und kann auch woanders
liegen.
Viel Spaß
Henri
Ich würde das Problem folgendermaßen lösen:
1. UnterExcel 8.0 Visual Basic Menüeleiste einblenden
2. Steuerelement Leiste einblenden
3. Befehlsschaltfläche anwählen und einen CommanButton zeichnen
4. Auf den gezeichneten Button gehen, rechte Maustaste, Code anzeigen
5. Folgenden Code in den Editor eintippen:
Option Explicit
Private Sub CommandButton1_Click()
NameAktivesTabellenblattErmitteln
NameAllerTabellenblätterInArbeitsmappeErmitteln
End Sub
Sub NameAktivesTabellenblattErmitteln() ' gilt für das aktive Arbeitsblatt
With ActiveSheet
ActiveCell.Value = ActiveSheet.Name
ActiveCell.Offset(1, 0).Range("A1").Select
End With
End Sub
Sub NameAllerTabellenblätterInArbeitsmappeErmitteln() ' gilt für alle
Arbeitsblätter
Dim i As Integer
With ActiveWorkbook
With ActiveSheet
For i = 1 To Sheets.Count
ActiveCell.Value = Sheets(i).Name
ActiveCell.Offset(1, 0).Range("A1").Select
Next i
End With
End With
End Sub
6. Auf den gezeichneten Commandbutton tippen und schauen, was in der aktiven
Zelle passiert.
greetings
Joachim
Christian Lindemann <christian.lin...@online.de> schrieb in im
Newsbeitrag: 376CEBC9...@online.de...
>
>
>Christian Lindemann schrieb:
>
>> Hi Ihr Excel-Freaks!
>>
>> Gibt es eine Möglichkeit, den Namen eines Tabellenblatts auszulesen und
>> den Wert oder die Zeichenfolge in eine Zelle einzufügen? Wenn ja, wie
>> stell' ich das bloß an?
>>
>> Gruß Christian
>
>Hallo Christian,
>
>Bin zu 2 Möglichkeiten gekommen.
>1.
>Sub NameTabellenblatt1()
> Worksheets(1).Range("A1").Select
> Dim i As Integer
> For i = 1 To ActiveWorkbook.Sheets.Count
> Selection.Value = Sheets( i ).Name
> Selection.Offset(1, 0).Select
> Next
>End Sub
>
>Mit diesem Makro listet Dir Excel alle Arbeitsblätter, der gerade aktiven
>Arbeitsmappe, im 1. Arbeitsblatt, ausgehend von Zelle A1, untereinander
>auf.
>
>2.
>Sub NameTabellenblatt2()
> Worksheets(1).Range("A1").Select
> Selection.Value = Sheets(2).Name
>End Sub
>
>Mit dem 2.Makro kannst Du ein bestimmtes Tabellenblatt (in diesem Fall das
>2. - Sheets(2)) anzeigen lassen.
>Der Anzeigeort ist natürlich nur exemplarisch und kann auch woanders
>liegen.
>
>Viel Spaß
Hallo Henri,
etwas kürzer:
Sub NameEinesTabellenBlattes()
ActiveCell.Value = ActiveSheet.Name
End Sub
Sub NameAllerTabellenBlätter()
For I = 1 To Worksheets.Count
ActiveSheet.Cells(I, 1).Value = Worksheets(I).Name
Next
End Sub
Hallo Christian,
z.B. mit folgendem Makro:
Sub TabellennamenÜbernehmen()
ActiveCell.Value = ActiveSheet.Name
End Sub
Es schreibt den Namen des aktiven Blattes in die markierte Zelle.
Gruß
Martin Beck