Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
784to788
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
784to788
784to788
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblatt mit Tabellenblattnummer aufrufen

Tabellenblatt mit Tabellenblattnummer aufrufen
30.07.2006 19:20:26
reiner
Hallo Leute,
eine Datei enthält für jeden ab „Jan.2004“ vergangenen Monat jeweils 1 Tabellenblatt mit Wettermessdaten; das Tabellenblatt ist mit dem Namen des jeweiligen Monats und der zugehörigen Jahreszahl eindeutig beschriftet.
Mit cboMonat auf einer UF wird ein beliebiger Monat für Auswertungen ausgewählt und dessen Inhalt in ein separates Tabellenblatt kopiert.
Falls der Monat „Mai 2006“ gewählt wurde und die Auswertung soll monatsübergreifend sein, müssen entweder -zusätzlich- die Daten des vorherigen Monats April „2006“ vor den Datensätzen des Mai „2006“ bzw. die Daten des „Juni 2006“ nach den „Mai 2006“-Daten eingefügt werden. Zur Zeit erfolgt diese Auswahl manuell.
Mit:
Sheets.Add after:=Worksheets(Worksheets.Count)
Range("A1").Select
For i = 1 To ActiveWorkbook.Worksheets.Count
Cells(i, 1).Value = i
Cells(i, 2).Value = Sheets(i).Name
Next i
können alle Tabellenblätter gezählt und mit laufender Blattnummer und -namen auf einem neu eingefügten Tabellenblatt gelistet werden. „Jan. 2004“ entspricht Blattnr. „1“; „Jan. 2005“ entspricht Blattnr. „13“, und „Mai 2006“ entspricht Blattnr. „29“. Somit ist jedem Tabellenblatt eine laufende Nummer zugeordnet.
Wie ist es möglich, diese laufende Nummer („29“) dem mit cboMonat ausgewählten Tabellenblatt (Mai 2006) zuzuordnen um anschließend den Inhalt des vorherigen („28“ - „April 2006“) oder des nachfolgenden Tabellenblatts („30“ - „Juni 2006“) zu kopieren und vor bzw. nach den „Mai 2006“-Daten einzufügen?
Kann man diesen Zusammenhang überhaupt herstellen?
mfg
reiner

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt mit Tabellenblattnummer aufrufen
30.07.2006 21:04:23
Uduuh
Hallo,
die Blätter kannst du mit
sheets(cbomonat).previous
bzw.
sheets(cbomonat).next
ansprechen.
Gruß aus’m Pott
Udo

AW: Tabellenblatt mit Tabellenblattnummer aufrufen
30.07.2006 22:21:37
reiner
Hallo Udo,
danke für den Vorschlag aber es funktioniert so noch nicht
Fehlermeldung: Laufzeitfehler“13“
Typen unverträglich
mfg
reiner
hier noch ein Nachtrag;
30.07.2006 23:15:42
reiner
Hallo Udo,
die Auswahl des vorherigen bzw. nachfolgenden Tabellenblatts kann nicht über cboMonat erfolgen da diese ComboBox nach vorheriger Anwahl von Optionsschaltflächen für die Jahre 2004, 2005 und 2006 mit jeweils nur den 12 Monaten des gewählten Jahrgangs befüllt wird.
Falls Jan.2005 ausgewählt wurde und das vorherige Tabellenblatt Dez. 2004 davor eingefügt werden soll, ist dieses nicht in cboMonat zu finden - daher kann die Auswahl nur über die Blattnummern erfolgen.
mfg
reiner
Anzeige
AW: hier noch ein Nachtrag;
01.08.2006 08:03:58
schauan
Hallo Reiner,
hast Du das getestet? Mit sheets(cbomonat).previous übernimmst Du den Wert von cbomonat als Blattnamen und mit .previous wählst Du aus der Blattliste das vorherige. Es kommt hier also "nur" auf die Reihenfolge der Blätter in der Datei an ob Du das vom Dezember 2004 erwischst.
Hoffe geholfen zu haben
Grüße von André aus Gera - Excel-97-2003

AW: hier noch ein Nachtrag;
01.08.2006 11:41:59
reiner
Hallo André,
mit sheets(cbomonat).previous bzw. sheets(cbomonat).next erhalte ich ständig eine Fehlermeldung.

Private Sub cboMonat_click()
Worksheets(Me.cboMonat.Text).Select
Sheets(cboMonat).Previous  à hier erscheint regelmäßig die Fehlermeldung „Laufzeitfehler 13“!!
End Sub

Spielt die Reihenfolge der Tabellenblätter im Projekt-Explorer evtl. eine Rolle, da die Reihenfolge durch gelöschte Tabellenblätter nicht mehr durchgängig ist?
Woran könnte die Anwahl des vorherigen bzw. nachfolgenden Blattes weiterhin scheitern?
mfg
reiner
Anzeige
AW: hier noch ein Nachtrag;
01.08.2006 11:57:28
schauan
Hallo Reiner,
Du musst mit dem Blatt natürlich auch noch was tun. Wenn Du es auswählen willst dann ...Previous.Select In dem Fall brauchst Du die darüber stehende Zeile nicht. Die Reihenfolge wird durch die in der Blattliste im Excel bestimmt.
Hoffe geholfen zu haben
Grüße von André aus Gera - Excel-97-2003

AW: hier noch ein Nachtrag;
01.08.2006 13:56:16
reiner
Hallo André,
auch mit sheets(cbomonat).Previous.Select bekomme ich weiterhin die beschriebene Fehlermeldung.
Kannst Du nicht einfach eine Beispielltabelle mit mehreren leeren Tabellenblättern erstellen um die Funktionsweise zu demonstrieren? Es sollte jedoch in der (wie am 30.07.2006 19:20:26) beschriebenen
Weise verfahren werden.
mfg
reiner
Anzeige
AW: hier noch ein Nachtrag;
01.08.2006 15:38:15
schauan
Hallo Reiner,
sorry, habe gerade einen Fehler entdeckt.
Sheets(ComboBox1.Value).Previous.Select
Man sollte doch sicherheitshalber immer den Value nehmen, auch wenns hie und da ohne geht :-(
Damit am Anfang und Ende nicht noch ein Fehler kommt dann so:

Private Sub ComboBox1_Click()
On Error GoTo errorhandler
Sheets(ComboBox1.Value).Next.Select
On Error GoTo 0
Exit Sub
errorhandler:
If Err.Number = 91 Then MsgBox "erstes / letztes Blatt erreicht"
Resume Next
End Sub


Hoffe geholfen zu haben
Grüße von André aus Gera - Excel-97-2003

Anzeige
AW: hier noch ein Nachtrag;
01.08.2006 18:03:03
reiner
Hallo André,
mit dem geänderten Programmcode erhalte ich zwar keine Fehlermeldung mehr, dafür passiert aber auch sonst nichts wenn ich einen Eintrag der cboMonat auswähle. Erst wenn ich den Zusatz „.Next“ bzw „.Previous“ daraus entferne wird der ausgewählte Monat angezeigt, aber das hat auch schon vorher funktioniert.
Nochmals mein Wunsch: Bitte erstelle eine Beispieltabelle die die einwandfreie Funktion belegt; so bringt das nämlich nichts.
mfg
reiner
NEUE ERKENNTNISSE; bitte lesen
01.08.2006 19:07:47
reiner
Hallo André,
nach vielen vergeblichen Experimenten habe ich nun ein ermutigendes Ergebnis erhalten, dass zumindest 50% meiner Wünsche abdeckt. Zunächst habe ich versuchsweise
“Sheets(cboMonat.Value).Next.Select” in “Sheets(cboMonat.Value).Next.Activate” abgeändert, und siehe da, es funktioniert selbst -wie Du beschrieben hast- über den in cboMonat erfassten Bereich hinaus auf Tabellenblätter eines anderen Jahrgangs - so soll es sein.
Allerdings verstehe ich nicht, warum das ganze nicht mit “...Previous.Activate“ funktioniert. Hier wird immer wieder nur der bereits ausgewählte Monat erneut eingefügt und nicht wie erwünscht der vorherige. Hast Du eine Idee woran das liegen könnte?
Aus Zeitgründen kann ich frühest am nächsten Vormittag auf eine etwaige Rückmeldung reagieren.
mfg
reiner
Anzeige
AW: hier noch ein Nachtrag;
02.08.2006 08:23:18
schauan
Hallo Reiner,
die combo ist auf Tabelle1, ich fülle sie beim Öffnen der Datei. Wenn Du z.B. Tabelle7 auswählst wird Tabelle4 aktiviert. Wählst Du Tabelle6 aus wird Tabelle5 aktiviert, nimmst Du Tabelle5 dann kommt die Fehlermeldung.
https://www.herber.de/bbs/user/35495.xls
noch eine letzte Frage
02.08.2006 18:02:26
reiner
Hallo André,
danke für die Beispieldatei; ich verstehe zwar nicht warum das Beispiel mit Sheets(ComboBox1.Value).Next.Select funktioniert während ich anstatt „.Select“ nur mit „.Activate“ das nachfolgende Blatt aktivieren kann, aber damit kann ich leben.
Was mir weiterhin Sorgen bereitet, ist das Problem mit der Anwahl des vorherigen Blattes („.previous“ anstatt „.next“ ; es lässt sich einfach nicht ansprechen.
Du hast auch keine Idee warum das nicht funktioniert?
mfg
reiner
Anzeige
AW: noch eine letzte Frage
02.08.2006 18:21:45
schauan
Hallo Reiner,
ich kann das wirklich nicht nachvollziehen. Wenn ich in der Testdatei das Next durch Previous ersetze funktioniert es genauso gut.

Hoffe geholfen zu haben
Grüße von André aus Gera - Excel-97-2003

AW: noch eine letzte Frage
02.08.2006 22:34:45
reiner
Hallo André,
ich habe das Problem mit ...previous gelöst - es funktioniert jetzt einwandfrei.
Die Datei enthält im Wechsel für jeden Monat eine normale Exceltabelle und eine Pivottabelle. Alle Pivottabellen sind ausgeblendet sodass nur die Exceltabellen sichtbar sind.
Bei Anwahl der Nachfolgetabelle hatte ich bereits einen Call-Aufruf zu einer Überprüfung Exceltabelle - Pivottabelle eingefügt. Hier wird von einer Pivottabelle auf eine normale Exceltabelle sofort weitergeleitet.
Nach einer schöpferischen Pause kam mir der Gedanke gleiches auch für die vorherige Tabelle einzuarbeiten - und nun klappt es.
vielen Dank für Deine Geduld
reiner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige