Registriert seit: 04.08.2021
Version(en): 2016
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?
Beste Grüße
Chief
Registriert seit: 11.04.2014
Version(en): Office 365
22.11.2021, 10:22
(Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2021, 10:29 von Klaus-Dieter.)
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
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 02.12.2017
Version(en): Microsoft365
22.11.2021, 10:28
(Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2021, 10:34 von EA1950.)
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.
Mit lieben Grüßen
Anton.
Windows 10 64bit
Office365 32bit
Registriert seit: 04.08.2021
Version(en): 2016
22.11.2021, 10:33
(Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2021, 10:41 von Chieftech.)
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, 10: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?
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
nein, es gehört in das Modul des Tabellenblattes, auf dem sich die Auswahl befindet.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 04.08.2021
Version(en): 2016
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?
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
das habe ich nicht verstanden.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 04.08.2021
Version(en): 2016
(22.11.2021, 10: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.
Registriert seit: 11.04.2014
Version(en): Office 365
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.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
00202
Nicht registrierter Gast
Hallo,
schreibe
statt...
... sowas:
Code:
Application.Goto Range("F1"), True