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

per Makro Tabellen wechseln

per Makro Tabellen wechseln
Lena
Hallo Excelfreunde,
Ich möchte einen Makro starten, der folgendermaßen (Lena Befehlssprache :o) ) aussehen soll:
Wenn Tabelle1 aktiv dann
Tabelle nach Tabelle1
Wenn Tabelle nach Tabelle1 dann
Tabelle1
Die Tabelle nach Tabelle1 läßt sich nicht benennen, da sich der Tabellennamen ständig ändert.
Wenn das überhaupt möglich ist, möchte ich mich schon im voraus bedanken.
MfG
Lena
keine Ahnung ob ichs kappiert habe ...
06.10.2009 21:15:35
Matthias
Hallo
Code in DieseArbeitsmappe
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Tabelle1" Then ActiveSheet.Next.Select
End Sub
wobei "Tabelle1" der Name des Sheet ist
Gruß Matthias
kap(p)iert mit einem "p" , sorry owT
06.10.2009 21:17:51
Matthias
AW: keine Ahnung ob ichs kappiert habe ...
06.10.2009 21:27:16
Lena
Hallo Matthias,
danke, im Grunde genommen meine ich das. Ich verstehe nur nicht, warum der Befehl in einem Private Sub Workbook_SheetActivate(ByVal Sh As Object) laufen soll. Denn da passiert bei mir nichts. Wenn ich ihn in ein Klasen-Modul scheibe und starte, komme ich damit schon von Tabelle1 zur dahinterstehenden. Der zweite Teil des Befehls wäre nun noch von der hinter Tabelle1 stehenden Tabelle zu Tabelle1 zurückkommen.
MfG
Lena
Anzeige
dann so ?
06.10.2009 21:40:28
Matthias
Hallo
weil ich dachte, das Du immer wenn Worksheets("Tabelle1") aktiviert wird automatisch zum "nächsten Blatt" springen willst.
Wenn das nicht so ist, kannst Du das natürlich über ein entsprechendes Makro starten.
in ein Modul
Sub weiter()
If ActiveSheet.Name = "Tabelle1" Then ActiveSheet.Next.Select
End Sub

Sub zurueck()
Dim wks As Worksheet
If ActiveSheet.Previous.Name = "Tabelle1" Then ActiveSheet.Previous.Select
End Sub
Gruß Matthias
Dim wks kannst Du weglassen ... oT
06.10.2009 21:44:02
Matthias
...Und Letzteres wäre dann auch das Problem,...
06.10.2009 21:31:36
Luc:-?
...Lena...!
Du müsstest dem Pgm entweder per (automatisch bei Aktivierung erscheinender) InputBox oder in einer (festgelegten bzw beliebigen) Zelle des (leeren) Blattes (Vorgang kann auch dadurch ausgelöst wdn) den Namen der Quelle mitteilen (Letzteres wäre am elegantesten)...
Also in symbolischem Code (mir fällt der offizielle Name dafür gerade nicht ein!)...
Leeres Blatt öffnen bzw anlegen → aktiv
Eintrag des Quellblattnamens in beliebige Zelle → Auslösung Ereignis Wsh_Change
Wsh_Change-Ereignisprozedur ruft Blattkopier-Subroutine auf
Leeres Blatt Tabelle1 wird mit QBlatt überschrieben (Namenseintrag verschwindet so wieder)

Das ist relativ einfach und sicher von vielen hier realisierbar, weshalb ich meinerseits darauf verzichten möchte, das zu tun. Ich hoffe, du verstehst das... ;-)
Gruß + gutes Gelingen, Luc :-?
Anzeige
AW: ...Und Letzteres wäre dann auch das Problem,..
06.10.2009 21:35:03
Lena
Hallo Luc ,
das muss ich mir morgen erst mal auf der Zunge zergehen lassen.
Danke.
MfG
Lena
Übrigens ist dadurch automatisch Tabelle1...
06.10.2009 21:50:55
Luc:-?
...aktiv, Lena,
was du ja auch willst. Weiß gar nicht, was Matthias da für Klimmzüge macht... ;-)
Gute Nacht, Luc :-?
jeder versteht es eben anders. Ok, ich bin raus oT
06.10.2009 22:07:21
Matthias
So war das nicht gemeint! Eher im GgTeil!
06.10.2009 23:11:31
Luc:-?
Richtig verstanden kannst du das gern umsetzen, Matthias,
und nicht die „beleidigte Leberwurst" spielen,
kann doch jedem mal passieren... ;-)
Für weitere Interessenten:
Wenn Lena meine/n Interpretation/Vorschlag akzeptiert, wäre die pgmtechn Lösung nach dieser „MetaCode"-Vorgabe noch zu erbringen...
Gruß Luc :-?
Anzeige
AW: jeder versteht es eben anders. Ok, ich bin raus oT
07.10.2009 07:27:00
Lena
Guten Morgen Matthias,
ich hoffe, ich hab die die Nacht nicht mit meinen Wünschen versaut.
Diese Variante war die, die ich gemeint habe. Hab mich vielleicht meine Frage nicht richtig konstruiert. Sorry. Ich hab jetzt aus:
Sub weiter()
If ActiveSheet.Name = "Tabelle1" Then ActiveSheet.Next.Select
End Sub

Sub zurueck()
Dim wks As Worksheet
If ActiveSheet.Previous.Name = "Tabelle1" Then ActiveSheet.Previous.Select
End Sub
versucht zu machen:
If ActiveSheet.Name = "Tabelle1" Then ActiveSheet.Next.Select
Else
Dim wks As Worksheet
If ActiveSheet.Previous.Name = "Tabelle1" Then ActiveSheet.Previous.Select
End If
um alles in einem Makro (um später mit der selben Tastenkombi. zu wechseln) unterzubringen. Aber das lässt sich so nicht machen. Kannst du mir das richtig schreiben.?
MfG
Lena
Anzeige
versuch es so
07.10.2009 15:31:01
Matthias
Hallo Lena
Option Explicit
Sub Tauschen()
If ActiveSheet.Name = "Tabelle1" Then
ActiveSheet.Next.Select
ElseIf ActiveSheet.Previous.Name = "Tabelle1" Then ActiveSheet.Previous.Select
End If
End Sub
Gruß Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige