3.9k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

ich habe per Makro einen Tabellennamen ausgelesen. Ist es möglich aus diesem die Tabellennummer zu bekommen? Also Tabelle1, Tabelle12 etc.

Vielen Dank.

Thomas

9 Antworten

0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Thomas,

ist meiner Meinung nach nur über eine Schleife und einer Abfrage realsierbar.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Sub Tabellennummer()
Dim intSheet As Integer

For intSheet = 1 To Sheets.Count
If Sheets(intSheet).Name = "Tabelle2" Then
MsgBox "Die Blattindexnummer lautet: " & intSheet
Exit For
End If
Next
End Sub
MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Thomas,

habe mal noch ein bisschen rumprobiert und die richtige Lösung gefunden. Mit

Sheets("Blattname").Index

erhälst Du die Blattindexnummer.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Oliver,

warum nicht einfach so?

Option Explicit

Sub test()
MsgBox Worksheets("Tabelle2").Index
End Sub


oder hab ich was falsch verstanden?

Gruß
Rainer
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Rainer,

zu spät, das hatte ich durch probieren ebenfalls herausbekommen. Man lernt eben nie aus. ich habe das bis jetzt noch nie benötigt, daher zuerst die Idee mit der Schleife.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von sst Mitglied (127 Punkte)
oder meinst du das so in etwa?

neues makro oder iwo rein packen:


Sub test()
Dim reg As String

reg = ActiveSheet.Name
MsgBox "Ich bin Tabelenblatt nummer: " & Mid$(reg, 8, 3), vbInformation
End Sub
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo @sst,

nette Idee, aber was machst Du, wenn am Ende des Blattnamens keine Nummer steht?

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von sst Mitglied (127 Punkte)
nuja, da extra nach der nummer gefragt wurde..

okok das löschen ist jetzt nicht das gelbe vom ei. aber das doch vielleicht ^^:

check out xD

Sub test()
Dim reg As String

reg = ActiveSheet.Name
MsgBox "Ich bin Tabelenblatt nummer: " & Worksheets(reg).Index, vbInformation
End Sub


so muss man nicht immer den eigenen tabellennamen reintippen ;)
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo sst,

Deine Lösung ist eigentlich gleich der Lösung aus AW2 & 3 aber funktioniert auch.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von sst Mitglied (127 Punkte)
ja in etwa. man spart sich zudem den "Blattname"

egal. hoffe wir konnten helfen

mfg
sst
...