Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1560to1564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Optionsfeld in Zellenwert übertragen
24.05.2017 14:58:03
Franzi
Hallo,
es soll abgefragt werden, ob eine tägliche Aufgabe schon erfüllt wurde. Dazu sollen zwei Optionen (nein und ja) und das aktuelle Datum angeboten werden. Standardmäßig ist die Option nein aktiviert.
Der Status soll in einem zweiten Tabellenblatt mit Datum und Status ja/nein dokumentiert werden. Die Optionbutton-Bedienung soll reversibel sein, wenn also auf nein zurückgeschaltet wird (z.B. weil eine noch nicht erledigte Unteraufgabe auffiel), soll auch der Eintrag in der Dokumentationstabelle auf nein aktualisiert werden.
Die Abfrage soll in einem Textfeld stattfinden, das dynamisch verschoben wird (bereits vorhanden).
Ich brauche Hilfe für den VBA-Code,
  • mit dem der Status der Knöpfe (ActiveX-Optionsfeld richtig?) reversibel in die Dokumentationstabelle übertragen wird,

  • und mit dem der Status mit dem richtigen Datum verknüpft wird. Vielleicht sollte in der Dokumentationstabelle schon eine vollständige Datumsliste vorgehalten werden und der Code nur das richtige Datum aufsuchen?

  • Über Anregungen würde ich mich sehr freuen!
    Danke im Voraus
    Franzi

    5
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Optionsfeld in Zellenwert übertragen
    24.05.2017 15:51:06
    Matthias
    Hallo Franzi,
    eine Möglichkeit ist die Benutzung einer CheckBox
    In den Eigenschaften kannst Du dann eine Zelladresse bei LinkedCell eintragen.
    z.B. Tabelle1!B1
    Wenn Du das Häkchen setzt wird in der Zelle WAHR ausgegeben beim Entfernen FALSCH
    Dies lässt sich ja dann einfach auswerten.
    Nur so als Idee
    Gruß Matthias
    AW: Optionsfeld in Zellenwert übertragen
    26.05.2017 14:27:54
    Franzi
    Hallo Matthias,
    danke für den Hinweis. Leider akzeptiert LinkedCell keine komplexen Verweise, z.B. mit einem SVERWEIS. Ich versuche es jetzt mit einer Formularsteuerelement-Checkbox, deren Wert ich in VBA auslesen und in die Zelle neben dem Datum von heute eintragen möchte. Da ist wohl VLOOKUP das Richtige?
    Franzi
    Anzeige
    AW: Optionsfeld in Zellenwert übertragen
    29.05.2017 18:31:30
    Peter
    Hallo Franzi,
    mit dem Optionsfeld und der Check-Box habe ich es mal probiert; die Ergebnisse waren jedoch nicht zufriedenstellend, weil der Status des ausgewählten Auftrags keine Auswirkung auf die Anzeige der Optionsfelder bzw. der Check-Box hat. Ich habe daher zwei einfache Makro-Buttons eingesetzt. Durch den S-Verweis wird Dir in der Tabelle1 der jeweils gegenwärtige Status (lt. Tabelle2) angezeigt und Du kannst dann den entsprechenden Button anklicken. Wenn man den Button für den gegenwärtigen Status anklickt, passiert gar nichts, es wird nur die Tabelle2 eingeblendet.
    Hier meine Datei:
    https://www.herber.de/bbs/user/113873.xlsm
    Bitte mal ausprobieren. Feedback wäre schön.
    Mit freundlichem Gruß
    Peter Kloßek
    Anzeige
    AW: Optionsfeld in Zellenwert übertragen
    30.05.2017 11:10:43
    Franzi
    Hallo Peter,
    vielen Dank für die Ausarbeitung, das sieht gut aus! Ich versuche, es zu übertragen.
    LG F.
    AW: Optionsfeld in Zellenwert übertragen
    02.06.2017 16:45:06
    Franzi
    Hallo,
    ich habe nun folgende Lösung gewählt:
    a) die Haupttabelle enthält eine ActiveX-Checkbox CheckBox1 mit der Frage "Aufgabe erledigt?"
    b) Es gibt ein zusätzliches Tabellenblatt mit zwei Spalten: Datum (für die nächsten Monate bis Jahre) und "Aufgabe erledigt?", hinter jedem Datum steht nein.
    c) Durch das Anklicken der Checkbox wird in dem zusätzlichen Tabellenblatt das Datum des heutigen Tages aufgesucht und daneben "ja" eingetragen. Abklicken führt zum Gegenteil.
    Private Sub CheckBox1_Click()
    Dim heutigesdatum As Date
    Dim Rng As Range
    heutigesdatum = CLng(Date)
    ' Bei Anklicken der CheckBox1 Eintrag "ja" generieren.
    If CheckBox1.Value = True Then
    With Sheets("Dokumentation").Range("A:A")
    Set Rng = .Find(What:=heutigesdatum, _
    After:=.Cells(.Cells.Count), _
    LookIn:=xlFormulas, _
    LookAt:=xlWhole, _
    SearchOrder:=xlByRows, _
    SearchDirection:=xlNext)
    If Not Rng Is Nothing Then
    Rng.Offset(0, 1).Value = "ja"
    Else
    MsgBox "Das heutige Datum ist noch nicht in der Dokumentationstabelle aufgeführt."
    End If
    End With
    End If
    ' Bei Abklicken der CheckBox1 Eintrag "nein" generieren.
    If CheckBox1.Value = False Then
    With Sheets("Dokumentation").Range("A:A")
    Set Rng = .Find(What:=heutigesdatum, _
    After:=.Cells(.Cells.Count), _
    LookIn:=xlFormulas, _
    LookAt:=xlWhole, _
    SearchOrder:=xlByRows, _
    SearchDirection:=xlNext)
    If Not Rng Is Nothing Then
    Rng.Offset(0, 1).Value = "nein"
    Else
    MsgBox "Das heutige Datum ist noch nicht in der Dokumentationstabelle aufgeführt."
    End If
    End With
    End If
    End Sub
    
    d) jeweils beim ersten Öffnen der Datei an einem Tag muss sichergestellt sein, dass der Haken in der Checkbox nicht fälschlicherweise gesetzt ist. Dies macht eine Abfrage unter Workbook_open()
    
    Private Sub Workbook_Open()
    Dim heutigesdatum As Date
    Dim Rng As Range
    heutigesdatum = CLng(Date)
    With Sheets("Dokumentation").Range("A:A")
    Set Rng = .Find(What:=heutigesdatum, _
    After:=.Cells(.Cells.Count), _
    LookIn:=xlFormulas, _
    LookAt:=xlWhole, _
    SearchOrder:=xlByRows, _
    SearchDirection:=xlNext)
    If Rng.Offset(0, 1).Value = "nein" Then
    Worksheets("Arbeitsliste").CheckBox1.Value = False
    End If
    End With
    
    Danke für alle Hilfe!
    LG F.
    Anzeige

    303 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige