Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zelle anklicken Kalender öffnen

Zelle anklicken Kalender öffnen
09.02.2024 10:19:08
kurt k
Guten Morgen,
ich möchte gern in einer Spalte z.B. "D", wenn ich irgendeine Zelle in "D" anklicke,
das sich ein Kalender öffnet und das ausgesuchte Datum eingefügt wird.
Habe leider noch nichts passendes gefunden.
Sowas gibt es doch bei Access, habe ich beim Kollegen gesehen.

mfg kurt k
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle anklicken Kalender öffnen
09.02.2024 10:57:02
Alwin Weisangler
Hallo,

es gibt für Excel ein Datepicker als AddIn:
Mini Calendar and Date Picker VERTEX42

Oder wenn du es gern individuell möchtest, wäre es mit VBA selbstgehäkelt eine weitere Option.
https://www.herber.de/bbs/user/166931.xlsm

Gruß Uwe
Anzeige
Hallo Uwe, Spitze
09.02.2024 11:02:13
kurt k
Hallo Uwe,
super Kalender, brauch aber noch für die 2 oder 3 Spalte brauch.

Danke im Voraus
kurt k
In meiner Datei Funktioniert es nicht
09.02.2024 11:06:48
kurt k
Hallo Uwe,
in meiner Datei klappt es nicht, ich habe diesen "Microsoft Date Picker" nicht,
wo kann ich den laden ?

gruß kurt k
Jetzt klappt es aber für 2 Spalten fehlt noch die ...
09.02.2024 11:14:18
kurt k
Hallo,
jetzt alles drin, jetzt fehlt noch die Änderung für 2. oder 3. Spalte zusätzlich.

gruß kurt k
Anzeige
Ich habs gefunden ! Danke an Uwe ! --))
09.02.2024 11:32:45
kurt k
so umgesetzt: If Not Intersect(Target, Range("F3:F50000, J3:J500")) Is Nothing Then

schönes Wochenende
gruß kurt k
Ich habe was gefunden brauch aber noch Info
09.02.2024 10:59:42
kurt k
Hallo allerseits,
habe einen kleinen Kalender gefunden allerdings ist bei mir das Makro falsch, ich wollte 2 Spalten auswählen, evtl. später 3.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

'If Not Intersect(Target, Range("F3:F5000")) Is Nothing Then
If Not Intersect(Target, Range("F3:F5000"), Range("J3:J5000")) Is Nothing Then
Cancel = True
'Cal.Show
UserForm1.Show
End If
End Sub


mfg kurt k
Anzeige
AW: Ich habe was gefunden brauch aber noch Info
09.02.2024 11:40:16
Alwin Weisangler
Hallo kurt,

wenn du neben dem Userform, Klassenmodul und allgem. Module alles in deine Datei einbaust und im Modul des betreffenden Tabellenblattes statt:



If Not Intersect(Target, Range("B2:B500")) Is Nothing Then

dies auf:


If Not Intersect(Target, Range("F3:F5000", "J3:J5000")) Is Nothing Then

änderst wird es auch funktionieren.
Kleiner Hinweis noch: Wenn du kein Datum auswählen willst und den Datepicker schließen willst --> Doppelklick auf Überschrift in Datepicker

Gruß Uwe
Anzeige
Kleine Frage noch
09.02.2024 11:51:08
kurt k
Hallo Uwe,
danke für alles und die genauen Informationen.
Ich möchte gern die Position des Kalenders verändern.
Er soll etwas nach oben und nach rechts geöffnet werden/sein, da ich ja 2 Spalten
sehen möchte,
Danke im Voraus nochmals.
gruß kurt K
AW: Kleine Frage noch
09.02.2024 12:42:57
Alwin Weisangler
ins Modul des Tabelleblattes:


Option Explicit
' Diese Prozedur lässt den Datepicker auf das in der Zelle enthaltene Datum springen
' Falls nur der einfache Aufruf reicht und nicht zum bestehenden Datum
' in der Zelle gesprungen werden soll, reicht Frm_DatePicker.Show
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B2:B500")) Is Nothing Then
xZelle = Target.Cells.Top - (Target.Cells.Top * 0.6) ' ggf. eigenen Wünschen anpassen
yZelle = Target.Cells.Left + (Target.Cells.Width * 1.5) ' ggf. eigenen Wünschen anpassen
If ActiveCell > "" Then
With Frm_DatePicker
.Monat = Format(CDate(ActiveCell), "mmmm")
.Jahr = Year(CDate(ActiveCell))
FeiertageBL
LBBundeslaender
Datum_ermitteln
.LabelsTipLeeren
End With
varAktuellerMonat = Month(CDate(ActiveCell))
Frm_DatePicker.Show
Else
Frm_DatePicker.Show
End If
End If
Cancel = True
End Sub

im Modul der Userform die Activate Prozedur gegen diese austauschen:


Private Sub UserForm_Activate()
hWndForm = FindWindow(GC_CLASSNAMEMSEXCELFORM, Me.Caption)
If hWndForm > 0 Then
SetWindowLong hWndForm, GWL_STYLE, GetWindowLong(hWndForm, GWL_STYLE) And Not WS_CAPTION
DrawMenuBar hWndForm
End If
With Me
.Top = xZelle
.Left = yZelle
End With
End Sub

in ein allgemeines Modul:


Option Explicit
Public xZelle#, yZelle#


Gruß Uwe
Anzeige
Danke Uwe funktioniert alles ! -)
09.02.2024 13:45:51
kurt k
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zelle anklicken und Kalender öffnen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel einen Kalender zu öffnen, wenn Du auf eine Zelle in einer bestimmten Spalte klickst, folge diesen Schritten:

  1. Öffne Excel und lade die Datei, in der Du den Kalender integrieren möchtest.
  2. Aktiviere die Entwicklertools: Gehe zu Datei > Optionen > Menüband anpassen und aktiviere das Kontrollkästchen für Entwicklertools.
  3. Füge ein UserForm hinzu:
    • Klicke im VBA-Editor auf Einfügen > UserForm.
    • Füge einen Kalendersteuerelement (z.B. "Microsoft Date Picker") zu Deinem UserForm hinzu.
  4. Erstelle einen VBA-Code in dem entsprechenden Arbeitsblatt:
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       If Not Intersect(Target, Range("D:D")) Is Nothing Then
           UserForm1.Show
           Cancel = True
       End If
    End Sub
  5. Füge Logik hinzu, um das Datum in die Zelle zu schreiben, nachdem der Benutzer ein Datum ausgewählt hat:
    Private Sub Calendar1_Click()
       ActiveCell.Value = Calendar1.Value
       Unload Me
    End Sub

Häufige Fehler und Lösungen

  • Kalender erscheint nicht: Stelle sicher, dass der Code im richtigen Arbeitsblatt-Modul ist.
  • Datum wird nicht in die Zelle geschrieben: Überprüfe, ob der Code für das Kalendersteuerelement korrekt ist.
  • "Microsoft Date Picker" nicht vorhanden: Du kannst das Add-In "Mini Calendar and Date Picker" von VERTEX42 verwenden, um die Funktionalität zu erweitern.

Alternative Methoden

Falls Du keine VBA-Lösung verwenden möchtest, gibt es alternative Ansätze:

  • Excel Kalender Dropdown: Du kannst ein Dropdown-Menü erstellen, das ein Datum von einer Liste auswählt. Dazu kannst Du die Funktion Datenüberprüfung verwenden, um eine Liste von Daten anzuzeigen.
  • Drittanbieter-Add-Ins: Nutze Add-Ins wie "Mini Calendar and Date Picker", um einen Kalender direkt in eine Zelle einzufügen, ohne VBA-Programmierung.

Praktische Beispiele

  1. Kalender in einer bestimmten Zelle anzeigen: Du möchtest, dass bei einem Doppelklick auf eine Zelle in Spalte D ein Kalender erscheint. Die oben genannte Schritt-für-Schritt-Anleitung zeigt, wie Du dies mit einem UserForm umsetzen kannst.

  2. Datum auswählen in mehreren Spalten: Du kannst den Code anpassen, um das Öffnen des Kalenders auch für andere Spalten, wie E oder F, zu ermöglichen:

    If Not Intersect(Target, Range("D:D, E:E, F:F")) Is Nothing Then

Tipps für Profis

  • Kalenderposition anpassen: Um die Position des Kalenders zu ändern, kannst Du die Top und Left Eigenschaften des UserForms anpassen, sodass der Kalender nicht über der Zelle liegt.
  • Datenvalidierung nutzen: Wenn Du sicherstellen möchtest, dass nur gültige Daten eingegeben werden, kannst Du die Datenüberprüfung in Excel nutzen, um nur Datumswerte zuzulassen.

FAQ: Häufige Fragen

1. Wie kann ich den Kalender in mehreren Spalten verwenden? Du kannst die Range im VBA-Code anpassen, um mehrere Spalten zu integrieren, z.B. Range("D:D, E:E").

2. Wo kann ich den "Microsoft Date Picker" herunterladen? Der "Microsoft Date Picker" ist nicht standardmäßig in Excel enthalten. Du kannst stattdessen das Add-In "Mini Calendar and Date Picker" von VERTEX42 verwenden.

3. Kann ich das Datum formatieren? Ja, Du kannst das Datum in der Zelle formatieren, indem Du die Formatierung in Excel anpasst oder im VBA-Code ebenfalls das Format definierst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige