Registriert seit: 22.05.2022
Version(en): 2019
Hallo Gemeinde, ich benutze in einer Datei dieses Makro welches auch funktioniert: Code: Sub zuHeutespringen()
Dim lngZeile As Long Dim lngSpalte As Long Dim suchDatum As Date
suchDatum = Date lngZeile = 21 For lngSpalte = Range("N21").Column To Range("XX21").Column If IsDate(Cells(lngZeile, lngSpalte).Value) Then If CDate(Cells(lngZeile, lngSpalte).Value) = suchDatum Then Cells(lngZeile, lngSpalte).Select Exit For End If End If Next lngSpalte
End Sub
jetzt die Frage, besteht die Möglichkeit den Monat da ins Spiel zu bringen? zum Beispiel wenn Januar ist dieses Makro auzuführen Code: Sub a1Januar()
Range("A1").Select
End Sub
und wenn Februar ist dieses Code: Sub a2Februar()
Call a1Januar
Range("CE1").Select
End Sub
bin schon jetzt sehr dankbar für eure Hilfe !!! Danke !!!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, Hier mal ein Ansatz. Du kannst z.B. mit MsgBox Month(Date) die Monatszahl ermitteln. Du kannst z.B. die Zelladressen in ein Array packen Dim arrAddress arrAddress = Array("A1", "B2", "C3") MsgBox arrAddress(2) und beides kombinieren ... MsgBox arrAddress(Month(Date)) und anschliessend feststellen, dass da noch irgendwo -1 angebracht wäre
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• kingkong
Registriert seit: 06.12.2015
Version(en): 2016
Hallo, der Code findet das aktuelle Datum ohne alle Zellen "durchzuschleifen": Code: Sub T_1() Dim c As Range, Tag As Date, Adr As String
On Error GoTo Gef
Tag = Date
Application.FindFormat.Clear Application.FindFormat.NumberFormat = "d-mmm"
With ActiveSheet.UsedRange Set c = .Find("*", , , , , , , , True) Adr = c.Address Do If CLng(c.Value) = CLng(Tag) Then Exit Do Set c = .FindNext(c) Loop Until c.Address = Adr End With
Gef: If Err Then Debug.Print "Datum nicht gefunden" Err.Clear Else Debug.Print "Gefunden: ", c End If
End Sub
Für die 12 Monate sollte es nur einen Code geben, dem aber der aktuelle Monat übergeben wird: my_Makro(Month©) mfg
Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:1 Nutzer sagt Danke an Fennek für diesen Beitrag 28
• kingkong
Registriert seit: 22.05.2022
Version(en): 2019
Danke euch Beiden für Eure investierte Zeit,
aber da bin ich jetzt raus, wollte eigentlich nur das das aktuelle Monatsblatt zentriert dargestellt wird.
Danke Euch trotzdem !!!
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo, Code: Sub zuHeutespringen() Dim lngZeile As Long Dim lngSpalte As Long Dim suchDatum As Date
suchDatum = Date lngZeile = 21 For lngSpalte = Range("N21").Column To Range("XX21").Column If IsDate(Cells(lngZeile, lngSpalte).Value) Then If CDate(Cells(lngZeile, lngSpalte).Value) = suchDatum Then Cells(lngZeile, lngSpalte).Select Application.Run "a" & Format(Date, "m") & Format(Date, "mmmm") Exit For End If End If Next lngSpalte End Sub
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• kingkong
Registriert seit: 24.01.2020
Version(en): 365
(12.02.2023, 19:25)kingkong schrieb: Danke euch Beiden für Eure investierte Zeit,
aber da bin ich jetzt raus, wollte eigentlich nur das das aktuelle Monatsblatt zentriert dargestellt wird.
Danke Euch trotzdem !!! Hallo kingkong, noch ein kleiner Hinweis zu Uwes Ergänzung im Code :) Diese bewirkt, dass deine Subs "a1Januar", "a2Februar", "a3März", etc. gestartet werden, nachdem die eigentliche "Datumszelle" ausgewählt wurde...Voraussetzung ist also, dass du diese Subs bis "a12Dezember" auch geschrieben hast :) Schönen Abend, Phiant
Folgende(r) 1 Nutzer sagt Danke an Phiant für diesen Beitrag:1 Nutzer sagt Danke an Phiant für diesen Beitrag 28
• kingkong
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
13.02.2023, 06:11
(Dieser Beitrag wurde zuletzt bearbeitet: 13.02.2023, 06:18 von RPP63.)
Moin! Scheint mir ein typisches X/Y-Problem zu sein! Wenn in der Threaderöffnung eine Datei angehangen wäre, hätten wir wahrscheinlich ganz andere Lösungen. Falls Monatsblätter vorhanden sind (ist eher bäääh!), dann Worksheets(Month(Date)).Activate (evtl. den Index um 1 erhöhen, wenn es ein "Deckblatt" gibt)
Falls die Blätter Monatsnamen haben, ginge es auch so • Worksheets(Application.GetCustomListContents(8)(Month(Date))).Activate • oder Worksheets(Format(Date, "MMMM")).Activate Wenn dann noch zum aktuellen Datum gesprungen werden soll, dann nach Aktivieren des Sheets ActiveWindow.ScrollColumn = Day(Date)
Oder gleich in einem Rutsch mit einer anderen Methode: Application.Goto Worksheets(Format(Date, "MMMM")).Cells(1, Day(Date)), True
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, king kong Vor allem wäre eine genauere Aufgabenbeschreibung hilfreich. Ob mit der bisherigen Aufgabenbeschreibung eine Datei geholfen hätte .. CE1 gibt's auf jedem Blatt, dazu muss man nicht das Blatt wechseln..  Aufgabe war im Januar ein Makro mit Range("A1").Select und im Februar ein Makro mit Range("CE1").Select Uwe's Ansatz ist da doch gut, aber wenn Du lieber mit festen Zelladressen arbeiten willst, da braucht man kein Makro aufzurufen, da reicht (m)ein Ansatz als Zweizeiler oder noch kürzer als Einzeller  MsgBox Array("A1", "B2", "C3")(Month(Date) - 1) 'Gibt die die Daten als Meldung aus bzw. Sub Test() Range(Array("A1", "B2", "C3")(Month(Date) - 1)).Select End Sub natürlich dann auf die 12 Monate erweitert und mit den korrekten Zelladressen. Dabei lass ich aber auch gerne den TE mitarbeiten  Es wäre auch kontraproduktiv, wenn Du erst in Deinem bisherigen Code was suchst und selektierst und anschließend eine andere Zelle selektierst.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• kingkong
Registriert seit: 22.05.2022
Version(en): 2019
14.02.2023, 01:11
(Dieser Beitrag wurde zuletzt bearbeitet: 14.02.2023, 01:15 von kingkong.)
Danke euch allen vielmals !!! Ok, eure Kritik nehme ich gerne auf, aber dachte es ist verständlich erklärt  . Habe auch bei dieser Tabelle per E-Mail Hilfe von einem Nutzer erhalten, worüber ich mich sehr gefreut habe. Also von Kuwer und phiant die Lösung war die, die ich genommen habe. Und ja vielleicht hätte ich mehr schreiben können, wie z.Bsp. das jeder Monat einzeln steht und dazwischen die aktuellen Urlaubstage wie Überstunden und Kranktage etc. und ich mit den anderen Makros dann denn Monat zentriert darstellen möchte aber ich dachte diese Informationen braucht ihr nicht da ich ja die Makros geschickt hatte. Sorry mein Fehler aber Danke Danke Danke euch allen. es wird nicht meine letzte Frage sein und bei der nächsten mache ich es besser  Gruß der Affe
für euch noch mal grob die Datei. https://www.clever-excel-forum.de/Thread...29-Februar
|