Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblatt durch Zelleninhalt auswählen

Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 16:58:38
Christoph
Hallo,
Ich würde gerne ein bestehendes Tabellenblatt anhand eines Zelleninhalts anspringen.
Wenn also in Zelle B2 "D1" steht möchte ich das Tabellenblatt D1 ansprechen, leider gelingt mir das nicht, ich bekomme immer den Fehler "Index ausserhalb des gültigen Bereichs"
Code:
MsgBox ActiveWorkbook.Sheets(Cells(1, 2).Value).Index
durch
MsgBox Cells(1, 2).Value erhält man "D1"
und durch
MsgBox ActiveWorkbook.Sheets("D1").Index
auch den richtigen Index. :(
Danke schonmal im vorraus
Gruß Christoph

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:08:27
Sigi
Hi Christoph,
wenn der Tabellenname in Zelle B2 steht solltest du auch die richtige Zelle auslesen: Cells(2, 2).Value !! Cells(1, 2) ist vermutlich leer - deshalb außerhalb des gültigen Bereichs.
Gruß
Sigi

AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:16:50
Christoph
Hallo,
Danke für die Antwort Sigi,
Das Problem scheint zu sein das der Wert in einer Zellesteht die B1 und C1 einnimmt, wenn ich es mit einer einzelnen Zelle probiere geht es :) Wie kann ich denn solche verbundenen Zellen gezielt ansprechen?
Danke
Gruß Christoph

AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:20:51
Sigi
Hi Christoph,
verbundene Zellen sind der Tod eines Programmierers!
Verzichte auf verbundene Zellen! Ich kenne keinen Grund wozu verbundene Zellen gut sein sollen.
Gruß
Sigi

Anzeige
AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:27:11
Christoph
Hallo Sigi,
Na ich wollte das gerne wegen der Übersicht haben, D1 ist die Überschrift der Spalten und diese Unterteilen sich nochmal in M und W :(

AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:35:00
Sigi
Hi Christoph,
na ja - es mag ja optisch ganz nett sein, aber beim Programmieren hast du damit an zig Stellen Probleme! Da hat sich Microsoft was nettes für "normale" User einfallen lassen, aber einen Programmierer treiben sie damit zur Kapitulation.
Gruß
Sigi

AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:42:00
Christoph
ok hab jetzt verbundenen Zellen rausgenommen, aber hab ein, für mich sehr eigenartiges PRoblem

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngBereich As Range
Dim lngLetzteZeile As Long
Dim Cell As String
lngLetzteZeile = Range("B" & Range("B:B").Rows.Count).End(xlUp).Row
Set rngBereich = Range("B3:B" & lngLetzteZeile)
If Not Intersect(Target, rngBereich) Is Nothing Then
MsgBox Cells(1, 2).Value
MsgBox ActiveWorkbook.Sheets(Cells(1, 2).Value).Index
End If
Set rngBereich = Nothing
End Sub


Ich bekomm die MsgBox mit "D1" und dann einen Fehler, wenn ich "D1" in die Zelle C(1,11) eintrage und alles damit teste funktioniert es. Hast du eine Ahnung woran das liegen könnte?
Danke Gruß Christoph

Anzeige
AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:57:44
Sigi
Hi Christoph,
mit ist nicht klar was du erreichen möchtest.
Mit MsgBox Cells(1, 2).Value wird einfach der Wert der Zelle "B1" angezeigt.
Mit MsgBox ActiveWorkbook.Sheets(Cells(1, 2).Value).Index versuchst du den Index der Tabelle mit dem Namen aus Zelle "B1" zu ermitteln. Die Tabelle mit diesem Namen aus "B1" muss exisitieren, sonst gibt's einen Fehler.
Gruß
Sigi

AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 18:05:00
Christoph
Ja das Problem ist das sie existiert und ich trotzdem einen Fehler bekomme,
ich hab die datei mal hochgeladen, dann sieht man auch was eigentl passieren soll
http://schmertz.berserks.org/Sportfest.xlsm
In Tabelle1 ("Klasse 7 (M)") wird der Code ausgeführt den ich oben schon gepostet habe. Allderdings übergibt der die Werte alle an eine Funktion GetPkt, diese soll das dem Tabellenblatt D1 die entsprechenen Punkte zu den Werten holen. Das funktioniert leider nicht wenn ich den Wert aus Zelle B1 (Cells(1,2)) nehmen will. Versuch ich es mit Zelle K1 Cells(1,11) geht es
Ich danke dir das du dich solange mit mir beschäftigst :)

Anzeige
AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:21:32
fcs
Hallo Christoph,
aktivieren (anspringen?) eines Blatt geht so.

Sub Batt_in_B2_aktivieren()
On Error GoTo Fehler
ActiveWorkbook.Worksheets(Cells(1, 2).Value).Activate
Exit Sub
Fehler:
MsgBox "Fehler Nr. " & Err.Number & " ist aufgetreten! & vblf & err.Description" _
& vbLf & "Blatt " & Cells(1, 2).Value & " gibt es wohl noch nicht!"
End Sub


Wenn du das Blatt für weitere Anweisungen ansprechbar machen willst, daann solltest eine entsprechende Objektvariable definieren.


Sub Batt_in_B2_setzen()
Dim objWks As Worksheet
On Error GoTo Fehler
Set objWks = ActiveWorkbook.Worksheets(Cells(1, 2).Value)
With objWks
'Anweisungen was im Tabelenblatt passieren soll
End With
Exit Sub
Fehler:
MsgBox "Fehler Nr. " & Err.Number & " ist aufgetreten! & vblf & err.Description" _
& vbLf & "Blatt " & Cells(1, 2).Value & " gibt es wohl noch nicht!"
End Sub


Gruß
Franz

Anzeige
AW: Tabellenblatt durch Zelleninhalt auswählen
16.05.2008 17:26:00
Christoph
Hallo Franz,
danke für die Antwort. Das Problem liegt leider darin das die Zellen B1 und C1 verbunden sind und ich deshalb einen Indexfehler bekomme. (Siehe AW von Sigi :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige