online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon BenjaminM vom 31.07.2020, 11:15 Options

Lösung

Makro Hilfe benötigt!

Hallo Braue noch mal eure hilfe!

Habe diesen Code
Private Sub Workbook_Open()
Worksheets("Januar").Activate
End Sub

in meine Arbeitsmappe eingetragen.

Klappt auch wunderbar, nun möchte ich aber das die Arbeitsmappe immer in dem aktuellen Monat geöffnet wird.
(sprich jetzt Juli und ab morgen August)

Mein Gedanke:
Kann man da was schreiben womit sich die Mappe mit der PC Zeit/Datum abgleicht?

Oder gibts da ne bessere/andere Lösung?

Wie würde das dann aussehen?

Vielen Dank für die Hilfe schon mal im Voraus

MfG Benjä


Antwort schreiben

Antwort 1 von nighty vom 31.07.2020, 13:22 Options

hi Benjä

wie gewuenscht

gruss nighty

Worksheets(MonthName(Month(Date))).Activate

Antwort 2 von BenjaminM vom 31.07.2020, 14:03 Options

Hallo Nighty!

Hab das eingefügt, aber wo gleicht er das Datum ab?
Es funzt net!

MfG Benjä

Antwort 3 von rainberg vom 31.07.2020, 16:12 Options

Hallo Benjamin,

Du darfst den Code von nighty nicht zusätzlich einfügen, sondern Deinen damit ersetzen.

Ein Datum wird damit übrigens nicht abgeglichen, sondern nur der aktuelle Monat.

Month(Date) ergibt die Zahl 7 (nur heute noch)

MonthName(7) ergibt den String "Juli"

somit bedeutet der Code letztendlich weiter nichts als

Worksheets("Juli").Activate, nur mit dem Unterschied, dass sich der Sheetname immer dem akuellen Monat anpasst.

Ich hoffe ich konnte Dir helfen, obwohl die Blumen nigthy gehören:-))

Gruß
Rainer

Antwort 4 von BenjaminM vom 01.08.2020, 07:43 Options

Hallo Rainer!

Ja ich hab meinen Code ersetzt!

Vorher:
Private Sub Workbook_Open()
Worksheets("Januar").Activate
End Sub

Nachher:
Private Sub Workbook_Open()
Worksheets(MonthName(Month(Date))).Activate
End Sub


So, was ist jetzt falsch?
Muss ich da noch was änder?
z.B. (Date) oder so?

Danke für deine hilfe MfG Benjä

Antwort 5 von rainberg vom 01.08.2020, 07:59 Options

Hallo Benjamin,

der Code ist richtig.

Wenn dieser tatsächlich im Codefenster von "DieseArbeitsmappe" steht und die Tabellennamen die Bezeichnungen Januar, Februar, März .....usw. haben, funktioniert der Code.

Ich spreche hier von den Excelversionen 2003 und 2007, andere kann ich leider nicht testen.

Lade doch notfalls Deine Datei mal hoch, sensible Daten kannst Du ja löschen oder verfälschen.

Gruß
Rainer

Antwort 6 von BenjaminM vom 01.08.2020, 08:14 Options

Hallo Rainer,

ich arbeite hier noch mit Excel ´97

Hier mal die Datei:
http://rapidshare.com/files/133996983/Ausbildungsplan2008x.xls

Danke MfG Benjä

Antwort 7 von DukeNT vom 01.08.2020, 08:33 Options

Hi Benjä,
bei mir funktioniert deine Tabelle ohne Probleme.(Excel2000)
Denk dran, das die Monatstabelle nur beim Öffnen der Datei ausgewählt wird und du Makros zulässt.
Gruß Niels

Antwort 8 von BenjaminM vom 01.08.2020, 09:02 Options

Ja, danke

habe ich auch so gemacht, hier mal der Fehler der mir angezeigt wird.

http://rapidshare.com/files/134003256/Fehler.doc

Evtl. lässt sich damit was rausfinden.

Danke
Benjä

Antwort 9 von rainberg vom 01.08.2020, 10:23 Options

Hallo Benjamin,

offensichtlich kann Excel97 nicht mit diesen Befehlen umgehen.

Mangels dieser Version kann ich Dir leider keine Ersatzbefehle nennen.

Vielleicht hilft Dir ein VBA-kundiger Excel97-Besitzer aus der Patsche.

Gruß
Rainer

Antwort 10 von nighty vom 01.08.2020, 14:52 Options

hi all

was ich zwar nicht glaube :-))

aber hier eine alternative

gruss nighty

Private Sub Workbook_Open()
Dim monate(12) As String
monate(1) = "Januar"
monate(2) = "Februar"
monate(3) = "März"
monate(4) = "April"
monate(5) = "Mai"
monate(6) = "Juni"
monate(7) = "Juli"
monate(8) = "August"
monate(9) = "September"
monate(10) = "Oktober"
monate(11) = "November"
monate(12) = "Dezember"
Worksheets(monate(Val(Mid(Date, 4, 2)))).Activate
End Sub

Antwort 11 von nighty vom 01.08.2020, 15:02 Options

hi all

korrigiert

gruss nighty

Private Sub Workbook_Open()
Dim monate(11) As String
monate(0) = "Januar"
monate(1) = "Februar"
monate(2) = "März"
monate(3) = "April"
monate(4) = "Mai"
monate(5) = "Juni"
monate(6) = "Juli"
monate(7) = "August"
monate(8) = "September"
monate(9) = "Oktober"
monate(10) = "November"
monate(11) = "Dezember"
Worksheets(monate(Val(Mid(Date, 4, 2)) - 1)).Activate
End Sub

Antwort 12 von rainberg vom 01.08.2020, 15:42 OptionsLösung

Lösung
Hallo Benjamin,

eine weitere Alternative wäre...

Option Explicit

Private Sub Workbook_Open()
    Worksheets(WorksheetFunction.Choose(Mid(Date, 4, 2), _
    "Januar", "Februar", "März", "April", "Mai", "Juni", _
    "Juli", "August", "September", "Oktober", "November", "Dezember")).Activate
End Sub


Gruß
Rainer

Ähnliche Themen

Hilfe zu Verweis benötigt...
fantalight  21.03.2007 - 117 Hits - 9 Antworten

Brauche Hilfe bei einem Button mit Makro
oddme  26.09.2007 - 21 Hits - 5 Antworten

CSV-Makro-Hilfe
platin7  10.04.2008 - 148 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 20:06:00 2026