Clever-Excel-Forum

Normale Version: Zellensprung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo, und zwar wollte ich ein Makro schreiben das automatisch in verschiedene Zellen springt, wenn ich per Dropdown einen Monat auswähle. 

das Makro schaut so aus. 
Code:
    If Sheets(6).Range("D2").Value = Januar Then
    Application.Goto reference:=Worksheets(4).Range("F1"), Scroll:=True
    End If

    If Sheets(6).Range("D2").Value = Februar Then
    Application.Goto reference:=Worksheets(4).Range("AL1"), Scroll:=True
    End If


    If Sheets(6).Range("D2").Value = März Then
    Application.Goto reference:=Worksheets(4).Range("BO1"), Scroll:=True
    End If
   
   
    If Sheets(6).Range("D2").Value = April Then
    Application.Goto reference:=Worksheets(4).Range("CU1"), Scroll:=True
    End If
   
   
    If Sheets(6).Range("D2").Value = Mai Then
    Application.Goto reference:=Worksheets(4).Range("DZ1"), Scroll:=True
    End If

   

End Sub

Jetzt springt das Makro aber immer in die letzte Zelle DZ1 egal was ich beim Dropdown auswähle. 

Wo liegt denn da mein Fehler?  Huh

Beste Grüße 

Chief
Hallo,

versuche es mal damit. Das Makro gehört in das Modul vom Tabellenblatt.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Range("D2")
        Case "Januar"
            Range("F1").Select
        Case "Februar"
            Range("AL1").Select
        Case "März"
            Range("BO1").Select
        Case "April"
            Range("CU1").Select
        Case "Mai"
            Range("DZ1").Select
    End Select
End Sub
Hallo,

du vergleichst die Zelle D2 von Arbeitsblatt Nr.6 mit den Konstanten/Variablen "Januar", "Februar", "März", ...
Sind die Werte dieser Konstanten/Variablen irgendwo festgelegt worden, bevor du sie hier an der Makrostelle verwendest?
Denn wenn du sie vorher nicht irgendwo festgelegt hast, haben diese Konstanten/Variablen alle den Wert 0 bzw. den Variant-Wert Empty.

Da du wahrscheinlich am Anfang des Moduls auch kein "Option Explicit" stehen haben wirst, zeigt dir der VBA-Compiler auch keine Fehlermeldung an.
Also im Namensmanager, sind die Monate eigentlich per Liste mit =Monate definiert. 
Falls du das meintest. 

Und ja das "Option Explicit" habe ich nicht im Makro stehen.

(22.11.2021, 09:22)Klaus-Dieter schrieb: [ -> ]Hallo,

versuche es mal damit. Das Makro gehört in das Modul vom Tabellenblatt.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Range("D2")
        Case "Januar"
            Range("F1").Select
        Case "Februar"
            Range("AL1").Select
        Case "März"
            Range("BO1").Select
        Case "April"
            Range("CU1").Select
        Case "Mai"
            Range("DZ1").Select
    End Select
End Sub

Ah perfekt, funktioniert fast wie gewollt, wenn ich jetzt noch will, das er an den Anfang der Tabelle scrollt reicht da ein "Scroll:= True" hinter dem select?
Hallo,

nein, es gehört in das Modul des Tabellenblattes, auf dem sich die Auswahl befindet.
Ah perfekt, funktioniert fast wie gewollt, wenn ich jetzt noch will, das er an den Anfang der Tabelle scrollt reicht da ein "Scroll:= True" hinter dem select?
Hallo,

das habe ich nicht verstanden.
(22.11.2021, 09:45)Klaus-Dieter schrieb: [ -> ]Hallo,

das habe ich nicht verstanden.

Naja. wenn ich jetzt den Monat Februar auswähle, springt er zwar auf die gewünschte Zelle "AL1", diese befindet sich aber in der Mitte des Tabellenblatts. 

Und meine Frage war, ob es möglich ist, dass er mir die gewünschte Zelle am Anfang der Tabelle anzeigt. 

Zur Verdeutlichung, ich wähle Februar aus & sehe die Spalten "V - BA" - ich will aber die Spalten "AL - BM", da AL der 1. Februar ist.
Hallo,

wozu soll das gut sein? Die selektierte Zelle wird in die Mitte gerückt, wie weit nach rechts gerollt werden soll, ist abhängig von der jeweiligen Bildschirmgröße und Auflösung.
Hallo, 19 

schreibe statt...

Code:
Range("F1").Select

... sowas:

Code:
Application.Goto Range("F1"), True
Seiten: 1 2