Supportnet / Forum / Tabellenkalkulation
Cursor-reihenfolge ändern
Frage
Hallo Ihr guten Geister,
gibt es eine Möglichkeit bei geschützten Tabellenblättern die Reihenfolge festzulegen wo der Cursor nach der Entertaste hinspringt. Auf gut Deutsch kann man die Reihenfolge beim Ausfüllen beeinflussen. Vielen Dank im voraus.
Gruß Karsten
Antwort 1 von Event
Hallo
Denkbar wäre es die Aktuelle Zelladresse abzufragen und dann in Abhängikeit davon woanders hinzuspringen - z.B. so:
Wenn der Cursor in Zelle "C4" ist wird er auf "F5" umgelegt.
Gruß
Denkbar wäre es die Aktuelle Zelladresse abzufragen und dann in Abhängikeit davon woanders hinzuspringen - z.B. so:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Address = "$C$4" Then Range("f5").Select
End Sub
Wenn der Cursor in Zelle "C4" ist wird er auf "F5" umgelegt.
Gruß
Antwort 2 von nighty
hi all :))
ein kleines beispiel :)
gruss nighty
Rem alt f11/projektexplorer/tabelle1/einfügen
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rgBereich As Range
Dim zaehler1 As Range
Set rgBereich = Worksheets("Tabelle1").Range("A2,B2,C2,M2")
For Each zaehler1 In rgBereich
If zaehler1 = "" Then
Target.Locked = False
zaehler1.Select
Exit For
End If
Next zaehler1
End Sub
ein kleines beispiel :)
gruss nighty
Rem alt f11/projektexplorer/tabelle1/einfügen
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rgBereich As Range
Dim zaehler1 As Range
Set rgBereich = Worksheets("Tabelle1").Range("A2,B2,C2,M2")
For Each zaehler1 In rgBereich
If zaehler1 = "" Then
Target.Locked = False
zaehler1.Select
Exit For
End If
Next zaehler1
End Sub
Antwort 3 von kvtv
Hallo Ihr beiden,
vielen Dank für Eure schnellen Antworten. So richtig was damit anfangen kann ich nicht. Wie wird denn den beiden mitgeteilt wo die erste Zelle, wo die nächte und die nächte usw.? Die Reihenfolge muß doch irgendwo festgelegt werden können.
Bei Datenbankanwendungen gibt es eine einfache Möglichkeit, da werden die Zellen einfach Durchnummeriert. Gibt es so eine Möglichkeit nicht hier auch. Vielen Dank im voraus.
Gruß Karsten
vielen Dank für Eure schnellen Antworten. So richtig was damit anfangen kann ich nicht. Wie wird denn den beiden mitgeteilt wo die erste Zelle, wo die nächte und die nächte usw.? Die Reihenfolge muß doch irgendwo festgelegt werden können.
Bei Datenbankanwendungen gibt es eine einfache Möglichkeit, da werden die Zellen einfach Durchnummeriert. Gibt es so eine Möglichkeit nicht hier auch. Vielen Dank im voraus.
Gruß Karsten
Antwort 4 von coros
Hi Karsten,
mein Vorschlag sähe folgendermaßen aus. Kopiere den nachfolgenden Code in das VBA Projekt „DieseArbeitsmappe“.
Kopiere nun nachfolgendes Makro in ein „StandardModul“.
Nachteil ist, die Entertaste ist in dem Blatt „Tabelle1“ deaktiviert und lässt nur das Springen zwischen den einzelnen Zellen zu. Wobei das ja eigentlich egal sein dürfte, wenn schon nur bestimmte Zellen angesprungen werden sollen, kann man auf die Taste verzichten.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
mein Vorschlag sähe folgendermaßen aus. Kopiere den nachfolgenden Code in das VBA Projekt „DieseArbeitsmappe“.
Option Explicit
Private Sub Workbook_Open()
Sheets("Tabelle1").Activate
Sheets("Tabelle1").Range("A2").Activate
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Tabelle1" Then
Application.OnKey "{ENTER}", "Nächste_Zelle"
Application.OnKey "~", "Nächste_Zelle"
Sheets("Tabelle1").Range("A2").Activate
Else
Application.OnKey "{ENTER}"
Application.OnKey "~"
End If
End Sub
Mit dem Code wird zunächst einmal beim Öffnen der Datei oder beim Blattwechsel die Entertaste mit einem Makro belegt. Aber nur, wenn der aktuelle Blattname „Tabelle1“ ist. Bei allen anderen steht die Entertaste wie gewohnt zur Verfügung.Kopiere nun nachfolgendes Makro in ein „StandardModul“.
Option Explicit
Sub Nächste_Zelle()
Dim Active_Zelle As String
Active_Zelle = ActiveCell.Address
Select Case Active_Zelle
Case "$A$2"
Range("C3").Select
Case "$C$3"
Range("E5").Select
Case "$E$5"
Range("A7").Select
Case "$A$7"
Range("F8").Select
Case "$F$8"
Range("A2").Select
Case Else
Range("A2").Select
End Select
End Sub
Dieses Makro wird aufgerufen, wenn in Blatt „Tabelle1“ die Entertaste betätigt wird. Dabei wird zuerst die aktive Zelle ermittelt. Wenn diese außerhalb der vorgegebenen Zellen liegt, wird die Zelle A2 angesprungen. Bei Betätigen der Entertaste wird die Zelle C3 angesprungen. Danach Zelle E5, dann A7, danach F8 und dann wieder Zelle A2. Wenn Du nun noch weitere Zellen anspringen lassen möchtest, musst Du eine Case- Anweisung kopieren, vor „Case Else“ wieder einfügen und dann angeben, wenn Zelle xy markiert ist, die Entertaste betätigt wird, soll Zelle yz angesprungen werden.Nachteil ist, die Entertaste ist in dem Blatt „Tabelle1“ deaktiviert und lässt nur das Springen zwischen den einzelnen Zellen zu. Wobei das ja eigentlich egal sein dürfte, wenn schon nur bestimmte Zellen angesprungen werden sollen, kann man auf die Taste verzichten.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von kvtv
Hallo Oliver,
vielen Dank für Deine Lösungsmöglichkeit. Allerdings habe ich da noch eine Frage. Nehmen wir an ich hätte 4 Blätter:
Tabelle1
Tabelle2
Tabelle3
Tabelle4
und in jeder möchte ich diese Lösung mit der Entertaste verwenden. Wo muß ich nun was hinein Kopieren. Du hast in Deiner Beschreibung was von einem „StandardModul“ und von „DieseArbeitsmappe“ geschrieben. Kann man den das nicht zusammen in das jeweilige Blatt kopieren.
Vielen Dank im voraus.
Gruß Karsten
vielen Dank für Deine Lösungsmöglichkeit. Allerdings habe ich da noch eine Frage. Nehmen wir an ich hätte 4 Blätter:
Tabelle1
Tabelle2
Tabelle3
Tabelle4
und in jeder möchte ich diese Lösung mit der Entertaste verwenden. Wo muß ich nun was hinein Kopieren. Du hast in Deiner Beschreibung was von einem „StandardModul“ und von „DieseArbeitsmappe“ geschrieben. Kann man den das nicht zusammen in das jeweilige Blatt kopieren.
Vielen Dank im voraus.
Gruß Karsten
Antwort 6 von coros
Hi Karsten,
nein, das kann man nicht alles in ein Tabellenblatt schreiben. Es muss zuerst die Entertaste für das Makro vorbereitet werden. Das macht man mit einem Ereignis. Dieses Ereignis greift dann auf das Makro zu, welches sich aber in einem StandardModul befinden muss.
Sollen denn in allen 4 Tabellenblättern die gleichen Zellen angesprungen werden? Sind das die einzigen Blätter in der Datei oder gibt es dort noch mehrere Tabellenblätter? Wenn auf allen Tabellenblättern die gleichen Zellen angesprungen werden sollen, könnte man den Code für das VBA Projekt "DieseArbeitsmappe" ändern. Aber da müsste man die obigen Fragen beantwortet bekommen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
nein, das kann man nicht alles in ein Tabellenblatt schreiben. Es muss zuerst die Entertaste für das Makro vorbereitet werden. Das macht man mit einem Ereignis. Dieses Ereignis greift dann auf das Makro zu, welches sich aber in einem StandardModul befinden muss.
Sollen denn in allen 4 Tabellenblättern die gleichen Zellen angesprungen werden? Sind das die einzigen Blätter in der Datei oder gibt es dort noch mehrere Tabellenblätter? Wenn auf allen Tabellenblättern die gleichen Zellen angesprungen werden sollen, könnte man den Code für das VBA Projekt "DieseArbeitsmappe" ändern. Aber da müsste man die obigen Fragen beantwortet bekommen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 7 von kvtv
Hi Oliver,
es sind tatsächlich 4 (eigendlich sogar 5) verschiedene von insgesamt 9 Blättern in dieser Datei Test.xls
Titel
Daten
Tabelle1
Tabelle2
Tabelle3
Tabelle4
Tabelle5
Blatt1
Blatt2
Was ist denn eigendlich ein StandartModul und wo bekomme ich das her oder wie finde und bearbeite ich das?
Vielen Dank für Deine Bemühungen.
Gruß Karsten
es sind tatsächlich 4 (eigendlich sogar 5) verschiedene von insgesamt 9 Blättern in dieser Datei Test.xls
Titel
Daten
Tabelle1
Tabelle2
Tabelle3
Tabelle4
Tabelle5
Blatt1
Blatt2
Was ist denn eigendlich ein StandartModul und wo bekomme ich das her oder wie finde und bearbeite ich das?
Vielen Dank für Deine Bemühungen.
Gruß Karsten
Antwort 8 von coros
Hi Karsten,
eine Anleitung zum StandardModul findest Du auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 . Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Du hast mir allerdings nur eine Frage beantwortet. Sollen in allen 4 Tabellenblättern die gleichen Zellen angesprungen werden?
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
eine Anleitung zum StandardModul findest Du auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 . Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Du hast mir allerdings nur eine Frage beantwortet. Sollen in allen 4 Tabellenblättern die gleichen Zellen angesprungen werden?
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 9 von kvtv
Hi Oliver,
ich glaube schon das ich Dir Deine Frage mit dem Satz
"es sind tatsächlich 4 (eigendlich sogar 5) verschiedene von insgesamt 9 Blättern in dieser Datei Test.xls" aus Antwort 7, beantwortet zu haben. Denn wenn es verschiedene Blätter sind dann können die doch eigendlich nicht die gleichen Zellen haben. Oder versteh ich jetzt wieder etwas nicht, dann bitte ich nochmal um kurze Rückmeldung. Vielen Dank für Deine Arbeit.
Gruß Karsten
ich glaube schon das ich Dir Deine Frage mit dem Satz
"es sind tatsächlich 4 (eigendlich sogar 5) verschiedene von insgesamt 9 Blättern in dieser Datei Test.xls" aus Antwort 7, beantwortet zu haben. Denn wenn es verschiedene Blätter sind dann können die doch eigendlich nicht die gleichen Zellen haben. Oder versteh ich jetzt wieder etwas nicht, dann bitte ich nochmal um kurze Rückmeldung. Vielen Dank für Deine Arbeit.
Gruß Karsten
Antwort 10 von coros
Hi Karsten,
also ich kann, wenn ich 10 Tabellenblätter habe in dass in jedem Tabellenblatt die Zelle z.B. A1, C2, D3, Z5 angesprungen wird, wenn ich mich auf dem jeweiligen Blatt befinde und die Entertaste betätige. Oder aber ich möchte in dem einen Tabellenblatt A1, B2, C3, in einem Anderen D3, T6, Z8 und in einem weiteren Tabellenblatt W3, R5, A3 anspringen lassen nach dem Betätigen der Returntaste.
Verstanden?
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
also ich kann, wenn ich 10 Tabellenblätter habe in dass in jedem Tabellenblatt die Zelle z.B. A1, C2, D3, Z5 angesprungen wird, wenn ich mich auf dem jeweiligen Blatt befinde und die Entertaste betätige. Oder aber ich möchte in dem einen Tabellenblatt A1, B2, C3, in einem Anderen D3, T6, Z8 und in einem weiteren Tabellenblatt W3, R5, A3 anspringen lassen nach dem Betätigen der Returntaste.
Verstanden?
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 11 von kvtv
Hi Oliver,
das ist das richtige:
Oder aber ich möchte in dem einen Tabellenblatt A1, B2, C3, in einem Anderen D3, T6, Z8 und in einem weiteren Tabellenblatt W3, R5, A3 anspringen lassen nach dem Betätigen der Returntaste.
Wenn das auch geht das vielleicht in 2 Blättern, bei beiden die Zelle A1 angesprungen wird und ansonsten alles andere Zellen sind, dann ist das die richtige Lösung
Das möchte ich.
Vielen Dank für Deine Bemühungen.
Gruß Karsten
das ist das richtige:
Oder aber ich möchte in dem einen Tabellenblatt A1, B2, C3, in einem Anderen D3, T6, Z8 und in einem weiteren Tabellenblatt W3, R5, A3 anspringen lassen nach dem Betätigen der Returntaste.
Wenn das auch geht das vielleicht in 2 Blättern, bei beiden die Zelle A1 angesprungen wird und ansonsten alles andere Zellen sind, dann ist das die richtige Lösung
Das möchte ich.
Vielen Dank für Deine Bemühungen.
Gruß Karsten
Antwort 12 von coros
Hi Karsten,
kannst Du mal mit klaren Worten schreiben in welchen Tabellenblättern welche Zellen angesprungen werden sollen? Denn mit dem was Du da schreibst sitzen wir nächstes Jahr noch an Deinem Problem. Ich bin kein Hellseher und weiß nicht, welche Zellen beim Betätigen der Entertaste angesprungen werden sollen. Schreibe doch einfach mal auf, Tabelle1, Zellen xyz. Die Zellen aber bitte in der Reihenfolge, wie sie angesprungen werden sollen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
kannst Du mal mit klaren Worten schreiben in welchen Tabellenblättern welche Zellen angesprungen werden sollen? Denn mit dem was Du da schreibst sitzen wir nächstes Jahr noch an Deinem Problem. Ich bin kein Hellseher und weiß nicht, welche Zellen beim Betätigen der Entertaste angesprungen werden sollen. Schreibe doch einfach mal auf, Tabelle1, Zellen xyz. Die Zellen aber bitte in der Reihenfolge, wie sie angesprungen werden sollen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 13 von kvtv
Hallo Oliver,
das ist ja ganz toll das Du mir so hilfst aber mir würde eine Lösung mit wenigen Zellen reichen. Die restlichen grieg ich dann glaube ich auch noch rein. Es sin über 100 Zellen die angesprungen werden müssen. Deshalb gebe ich Dir jetzt nur ein paar Zellen durch.
Titel! keine Zellen
Daten! C5,C6,C8,C11,F11,C12,C15,C17 usw.
Deckblatt! keine Zellen
Tabelle1! S8,M10,M11,D12,L12,M12,J14,D15,J15,M17 usw.
Tabelle2! R8,R9,M11,M12,M14,M15,M16,D17,M17 usw.
Tabelle3! L10,L11,L12,L13,L14,L15,C16,L16,C17,L17 usw.
Tabelle4! B6,C6,D6,E6,F6,B7,C7,D7,E7,F7 usw.
Tabelle5! D10,Q10,D12,Q12,D14,L14,D15,L15 usw.
Blatt1! D10,I10,D11,I11,D12,I12,D13,I13,D15,I15 usw.
Blatt2! D10,D11,D12,D13 usw.
Vielen Dank für Deine Bemühungen.
Gruß Karsten
das ist ja ganz toll das Du mir so hilfst aber mir würde eine Lösung mit wenigen Zellen reichen. Die restlichen grieg ich dann glaube ich auch noch rein. Es sin über 100 Zellen die angesprungen werden müssen. Deshalb gebe ich Dir jetzt nur ein paar Zellen durch.
Titel! keine Zellen
Daten! C5,C6,C8,C11,F11,C12,C15,C17 usw.
Deckblatt! keine Zellen
Tabelle1! S8,M10,M11,D12,L12,M12,J14,D15,J15,M17 usw.
Tabelle2! R8,R9,M11,M12,M14,M15,M16,D17,M17 usw.
Tabelle3! L10,L11,L12,L13,L14,L15,C16,L16,C17,L17 usw.
Tabelle4! B6,C6,D6,E6,F6,B7,C7,D7,E7,F7 usw.
Tabelle5! D10,Q10,D12,Q12,D14,L14,D15,L15 usw.
Blatt1! D10,I10,D11,I11,D12,I12,D13,I13,D15,I15 usw.
Blatt2! D10,D11,D12,D13 usw.
Vielen Dank für Deine Bemühungen.
Gruß Karsten
Antwort 14 von coros
Moin Karsten,
nachfolgenden Code kopiere in das VBA Projekt "DieseArbeitsmappe"
Mit dem Code wird beim Öffnen und beim Blattwechsel geprüft, welches Blatt gerade aktiv ist, damit das entsprechende Makro gestartet werden kann.
Da ich mit meinem Geschreibe mal wieder an die 5000er Wortgrenze stoße, endet hier der Beitrag und die Makros für das anspringen der Zellen werden in dem nächsten Beitrag aufgeführt.
nachfolgenden Code kopiere in das VBA Projekt "DieseArbeitsmappe"
Option Explicit
Private Sub Workbook_Open()
Select Case ActiveSheet.Name
Case "Daten"
Application.OnKey "{ENTER}", "Nächste_Zelle_Daten"
Application.OnKey "~", "Nächste_Zelle_Daten"
Case "Tabelle1"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle1"
Application.OnKey "~", "Nächste_Zelle_Tabelle1"
Case "Tabelle2"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle2"
Application.OnKey "~", "Nächste_Zelle_Tabelle2"
Case "Tabelle3"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle3"
Application.OnKey "~", "Nächste_Zelle_Tabelle3"
Case "Tabelle4"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle4"
Application.OnKey "~", "Nächste_Zelle_Tabelle4"
Case "Tabelle5"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle5"
Application.OnKey "~", "Nächste_Zelle_Tabelle5"
Case "Blatt1"
Application.OnKey "{ENTER}", "Nächste_Zelle_Blatt1"
Application.OnKey "~", "Nächste_Zelle_Blatt1"
Case "Blatt2"
Application.OnKey "{ENTER}", "Nächste_Zelle_Blatt2"
Application.OnKey "~", "Nächste_Zelle_Blatt2"
Case Else
Application.OnKey "{ENTER}"
Application.OnKey "~"
End Select
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Select Case ActiveSheet.Name
Case "Daten"
Application.OnKey "{ENTER}", "Nächste_Zelle_Daten"
Application.OnKey "~", "Nächste_Zelle_Daten"
Case "Tabelle1"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle1"
Application.OnKey "~", "Nächste_Zelle_Tabelle1"
Case "Tabelle2"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle2"
Application.OnKey "~", "Nächste_Zelle_Tabelle2"
Case "Tabelle3"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle3"
Application.OnKey "~", "Nächste_Zelle_Tabelle3"
Case "Tabelle4"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle4"
Application.OnKey "~", "Nächste_Zelle_Tabelle4"
Case "Tabelle5"
Application.OnKey "{ENTER}", "Nächste_Zelle_Tabelle5"
Application.OnKey "~", "Nächste_Zelle_Tabelle5"
Case "Blatt1"
Application.OnKey "{ENTER}", "Nächste_Zelle_Blatt1"
Application.OnKey "~", "Nächste_Zelle_Blatt1"
Case "Blatt2"
Application.OnKey "{ENTER}", "Nächste_Zelle_Blatt2"
Application.OnKey "~", "Nächste_Zelle_Blatt2"
Case Else
Application.OnKey "{ENTER}"
Application.OnKey "~"
End Select
End Sub
Mit dem Code wird beim Öffnen und beim Blattwechsel geprüft, welches Blatt gerade aktiv ist, damit das entsprechende Makro gestartet werden kann.
Da ich mit meinem Geschreibe mal wieder an die 5000er Wortgrenze stoße, endet hier der Beitrag und die Makros für das anspringen der Zellen werden in dem nächsten Beitrag aufgeführt.
Antwort 15 von coros
So, hier geht’s dann mal weiter.
Die nachfolgenden Makros kopier in ein "StandardModul".
Mit den Makros wird gesteuert, welche Zelle in dem entsprechenden Tabellenblatt angesprungen wird. Ich habe Dir nur die Makros für das Blatt "Daten" und "Tabelle1" erstellt. Das für "Tabelle2" habe ich nur angedeutet. Du musst nun für die Blätter "Tabelle2", "Tabelle3", "Tabelle4", "Tabelle5", "Blatt1" und "Blatt2" den Code selber erstellen. Sollte aber kein Problem sein, da der Aufbau ja immer gleich ist. Wichtig ist nur, dass die Makronamen in dem StandardModul mit den angegebenen Makronamen in den Ereignissen "WorkBook_Open" und "Workbook_SheetActivate" im VBA Projekt "DieseArbeitsmappe" übereinstimmen.
So, ich hoffe, Du kommst klar. Wenn nicht, dann melde Dich. Allerdings kann es dann sein, dass Du erst wieder morgen von mir hörst, da es bei mir heute sehr eng, was die Zeit angeht, aussieht.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Die nachfolgenden Makros kopier in ein "StandardModul".
Option Explicit
Sub Nächste_Zelle_Daten()
Dim Active_Zelle As String
Active_Zelle = ActiveCell.Address
Select Case Active_Zelle
Case "$C$5"
Range("C6").Select
Case "$C$6"
Range("C8").Select
Case "$C$8"
Range("C11").Select
Case "$C$11"
Range("F11").Select
Case "$F$11"
Range("C12").Select
Case "$C$12"
Range("C15").Select
Case "$C$15"
Range("C17").Select
Case "$C$17"
Range("C5").Select
Case Else
Range("C5").Select
End Select
End Sub
Sub Nächste_Zelle_Tabelle1()
Dim Active_Zelle As String
Active_Zelle = ActiveCell.Address
Select Case Active_Zelle
Case "$S$8"
Range("M10").Select
Case "$M$10"
Range("M11").Select
Case "$M$11"
Range("D12").Select
Case "$D$12"
Range("L12").Select
Case "$L$12"
Range("M12").Select
Case "$M$12"
Range("J14").Select
Case "$J$14"
Range("D15").Select
Case "$D$15"
Range("J15").Select
Case "$J$15"
Range("M17").Select
Case "$M$17"
Range("S8").Select
Case Else
Range("S8").Select
End Select
End Sub
Sub Nächste_Zelle_Tabelle2()
Dim Active_Zelle As String
Active_Zelle = ActiveCell.Address
Select Case Active_Zelle
Case "$R$8"
Range("R9").Select
Rem .......
Case "$M$17"
Range("R8").Select
Case Else
Range("R8").Select
End Select
End Sub
Mit den Makros wird gesteuert, welche Zelle in dem entsprechenden Tabellenblatt angesprungen wird. Ich habe Dir nur die Makros für das Blatt "Daten" und "Tabelle1" erstellt. Das für "Tabelle2" habe ich nur angedeutet. Du musst nun für die Blätter "Tabelle2", "Tabelle3", "Tabelle4", "Tabelle5", "Blatt1" und "Blatt2" den Code selber erstellen. Sollte aber kein Problem sein, da der Aufbau ja immer gleich ist. Wichtig ist nur, dass die Makronamen in dem StandardModul mit den angegebenen Makronamen in den Ereignissen "WorkBook_Open" und "Workbook_SheetActivate" im VBA Projekt "DieseArbeitsmappe" übereinstimmen.
So, ich hoffe, Du kommst klar. Wenn nicht, dann melde Dich. Allerdings kann es dann sein, dass Du erst wieder morgen von mir hörst, da es bei mir heute sehr eng, was die Zeit angeht, aussieht.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 16 von kvtv
Hallo Oliver,
habe den Code gerade mal ausprobiert. Es klappt auf den ersten Blick sehr gut. Werde ein wenig mit herum arbeiten. Wenn noch irgend etwas nicht klappen sollte melde ich mich nochmal. Vielen Dank für Deine, wie immer, tolle Leistung.
Gruß Karsten
habe den Code gerade mal ausprobiert. Es klappt auf den ersten Blick sehr gut. Werde ein wenig mit herum arbeiten. Wenn noch irgend etwas nicht klappen sollte melde ich mich nochmal. Vielen Dank für Deine, wie immer, tolle Leistung.
Gruß Karsten