Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Calendar-Element mit Daten in der Excel Tabelle?

Betrifft: Calendar-Element mit Daten in der Excel Tabelle? von: Herbet
Geschrieben am: 07.06.2006 15:31:08

Hallo Zusammen,

habe mal eine Frage zum Kalender Steuerelement in VBA, habe das Steuerelement wie durch Add-in Funktion eingebunden in meine Excel Tabelle, wenn ich nun auf Calendar klicke erscheint ein kleiner Kalender, jedoch erscheint mir die Funktion ohne verlinken zu Tabellenwerten sehr sinnlos.

Wie bekomme ich es zB. hin den 12.Juni.2006 an eine bestimmten Wert bzw. Ereignis die in der Excel-tabelle eingegeben ist zu binden. ZB. Ich klicke auf Kalendar und dann auf den 12.Juni und es erscheint ein kleines Dialog-Fenster mit den Ereignissen an diesem Tag die in C1 bis C5 stehen?

Hat jemand einen Hinweis für VBA wie man das Kalendersteuerelement an Tabellenblattwerte binden kann?

Gruß,
Herbert

  


Betrifft: AW: Calendar-Element mit Daten in der Excel Tabell von: Gerald B
Geschrieben am: 07.06.2006 17:27:20

Hi!

Ich habe das so gelöst. Ich lasse immer den ControlTipText ändern:



'----

Private Sub Calendar1_Click()

Dim strComment As String
Dim sBegriff As Date
Dim Zelle As Range
Dim Bereich As Range
Dim ZeileMax As Integer
Dim i As Integer
Dim n As Integer
Dim zwischenspeicher As String

' letzte Zeile in Spalte A ermitteln
ZeileMax = Sheets("alleProjekte").Range("A65536").End(xlUp).Row

' bei mir steht der variable Inhalt ab Zeile 3 - darum 3 to ZeileMax
For i = 3 To ZeileMax


On Error Resume Next

' Suchbegriff ist der akt. (angeklickte Datum im Kalender) Wert des Kalenders

sBegriff = Calendar1.Value


' Wenn angeklicktes Datum gleich Datumseintrag der Zelle in der Tabelle

If sBegriff = Sheets("alleProjekte").Cells(i, 8) Then


' hier erweitere ich den ControlTipText für das angeklickte Datum im Kalender mit den
' Daten aus der Tabelle 

Calendar1.ControlTipText = "Projekt: " & Sheets("alleProjekte").Cells(i, 1).Value & " -- " & " JobNr.: " & Sheets("alleProjekte").Cells(i, 3).Value & " -- " & " Abgabetermin: " & Sheets("alleProjekte").Cells(i, 8).Value & " -- " & " Versand: " & Sheets("alleProjekte").Cells(i, 9).Value & " -- " & " Status: " & Sheets("alleProjekte").Cells(i, 6).Value & Chr(10)
zwischenspeicher = zwischenspeicher & Calendar1.ControlTipText
End If
 
Next i

' wenn in der Tabelle zu dem im Kalender angeklickten Datum kein Eintrag besteht dann..

If zwischenspeicher = "" Then
  MsgBox "Zu diesem Datum gibt es keine Abgabetermine!"
  Else
 
 MsgBox zwischenspeicher
End If
End Sub



'----------------


Ich hoffe es hilft dir wetier. Gib bitte Bescheid.

lg
Gerald


  


Betrifft: AW: Calendar-Element mit Daten in der Excel Tabell von: Gerald B
Geschrieben am: 07.06.2006 17:34:12

..noch was

die Variablen strComment, Bereich, Zelle und n brauchst du natürlich nicht zu definieren. Ich hab das aus meinem Code einfach mal so rauskopiert und vergessen diese für das Beispiel zu entfernen..

okay..

viel Erfolg


  


Betrifft: AW: Calendar-Element mit Daten in der Excel Tabell von: Herbet
Geschrieben am: 16.06.2006 12:07:44

Hallo Gerald,

habe deinen Code abgeändert wie folgt:

===================================================
Private Sub CommandButton1_Click()
UserForm6.Show
Dim strComment As String
Dim sBegriff As Date
Dim Zelle As Range
Dim Bereich As Range
Dim ZeileMax As Integer
Dim i As Integer
Dim n As Integer
Dim zwischenspeicher As String

' letzte Zeile in Spalte A ermitteln
ZeileMax = Sheets("Tasks").Range("A65536").End(xlUp).Row

' bei mir steht der variable Inhalt ab Zeile 7 - darum 7 to ZeileMax
For i = 7 To ZeileMax


On Error Resume Next

' Suchbegriff ist der akt. (angeklickte Datum im Kalender) Wert des Kalenders

sBegriff = CommandButton1.Value


' Wenn angeklicktes Datum gleich Datumseintrag der Zelle in der Tabelle

If sBegriff = Sheets("Tasks").Cells(i, 1) Then


' hier erweitere ich den ControlTipText für das angeklickte Datum im Kalender mit den
' Daten aus der Tabelle

CommandButton1.ControlTipText = "Projekt: " & Sheets("Tasks").Cells(i, 1).Value & " -- " & " JobNr.: " & Sheets("Tasks").Cells(i, 3).Value & " -- " & " Abgabetermin: " & Sheets("Tasks").Cells(i, 8).Value & " -- " & " Versand: " & Sheets("Tasks").Cells(i, 9).Value & " -- " & " Status: " & Sheets("Tasks").Cells(i, 6).Value & Chr(10)
zwischenspeicher = zwischenspeicher & CommandButton1.ControlTipText
End If
 
Next i

' wenn in der Tabelle zu dem im Kalender angeklickten Datum kein Eintrag besteht dann..

If zwischenspeicher = "" Then
  MsgBox "Zu diesem Datum gibt es keine Abgabetermine!"
  Else
 
 MsgBox zwischenspeicher
End If
End Sub

==========================

Ich glaube der findet das ausgewählte Datum im Kalender nicht wirklich. Die Datumseingaben erfolgen in Zelle A7 startend, und sind eingegeben im Format 12.06.2006. Entscheidet die Datumseingabe beim suchen?

Komme nicht ganz weiter, zur besseren Nachverfolgung:

Userform6 ist mein Calendar;
Commandbutton1 mein Pirvat Sub um alles durchzuführen inkl. öffnen des Userform6.

Vielen Danke bisher für deine Mühe, bitte um weitere Stellungnahme :)
War leider im Urlaub bisher, daher konnte ich es nicht ausprobieren, Sorry!
Gruß,
Herbert


  


Betrifft: Feedback von: Gerald B
Geschrieben am: 08.06.2006 15:12:38

Hallo,

ein Feedback kostet dich nichts und wäre wohl das Wenigste was man sich erwarten darf.



"Höflichkeit ist eine aussterbende Tugend"


 

Beiträge aus den Excel-Beispielen zum Thema "Calendar-Element mit Daten in der Excel Tabelle?"