Clever-Excel-Forum

Normale Version: Anwesenheitsliste
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich bin gerade dabei für unseren Verein eine Protokollvorlage zu erstellen. Damit es relativ einfach und schnell geht hatte ich bei der Auswahl der anwesenden Personen an eine Userform gedacht, wo mach durch einfaches Häkchen setzen jemanden aussuchen kann. Wie bekomme ich das hin, dass die angewählten in dem Formular "Anwesende" und alle nicht ausgewählten automatisch in die "Abwesenden" rutschen?
Vielleicht habt ihr auch eine bessere, einfachere und schönere Lösung im Kopf, darüber würde ich mich natürlich auch sehr freuen. Die Beispieldatei mit ganz anderen Namen (aus datenschutzrechtlichen Gründen) habe ich natürlich angehangen. Habt schonmal ganz ganz lieben Dank für euer Engagement, Zeit und Interesse.

Beste Grüße
Chris
Hi,

noch aktuell?
Ja. Bis jetzt noch keineÄnderung. Hast du einen Vorschlag?
Hallöchen,

eventuell kannst Du auch statt des Userforms Auswahlfeldern (Dropdown, Gültigkeit) nehmen. Mit etwas Geschick könntest Du die Auswahlfelder so gestalten, dass gewählte Namen nicht mehr wählbar sind.

Ich habe hier in Spalte A die Auswahl und in Spalte C alle Namen. In D lasse ich alle Namen der Spalte C anzeigen, die noch nicht in Spalte A gewählt wurden. Da sich die Gültigkeit auf Spalte D bezieht, ist hier im Beispiel der Otto nicht mehr wählbar.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDE
1OttoWilliWilli
2BaldBald
3Otto
4KarKar
ZelleFormel
E1=WENN(ZÄHLENWENN($A$1:$A$4;D1);"";D1)
E2=WENN(ZÄHLENWENN($A$1:$A$4;D2);"";D2)
E3=WENN(ZÄHLENWENN($A$1:$A$4;D3);"";D3)
E4=WENN(ZÄHLENWENN($A$1:$A$4;D4);"";D4)
ZelleGültigkeitstypOperatorWert1Wert2
A1Liste=$E$1:$E$4
A2Liste=$E$1:$E$4
A3Liste=$E$1:$E$4
A4Liste=$E$1:$E$4
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Vielen lieben Dank, aberfunktioniert das auch in Word?
Hi,

dieses Thema interessiert mich auch!

Gibt es eine Lösung für Word?

Gruß Ralf
Hallöchen,

das wird wohl nur in Excel so komfortabel gehen Sad In Word läuft es wirklich auf eine Lösung mit VBA hinaus Sad

hat zwar nix direkt mit der Fragestellung zu tun - aber hier mal ein interessanter Link zu einer Lösung für abhängige Dropdown in Word. https://www.extendoffice.com/documents/w...lists.html
Vielleicht kann man das auch so abändern, dass bei Auswahl die Liste um das gewählte Element gekürzt wird.
Hallo,

ioch habe es nun mal selber probiert und folgendes programmiert:
Code:
Option Explicit

Private Sub CheckBox8_Click()
If CheckBox8 = True Then
    CheckBox1 = True
    CheckBox2 = True
    CheckBox3 = True
    CheckBox4 = True
    CheckBox5 = True
    CheckBox6 = True
    CheckBox7 = True
End If
End Sub

Private Sub CommandButton1_Click()
    Dim Teilnehmer As String
    Dim Abwesend As String

    If CheckBox1 = True Then
    Teilnehmer = Teilnehmer & "TM 1" & ", "
    Else
    Abwesend = Abwesend & "TM 1" & ", "
    End If
    If CheckBox2 = True Then
    Teilnehmer = Teilnehmer & "TM 2" & ", "
    Else
    Abwesend = Abwesend & "TM 2" & ", "
    End If
    If CheckBox3 = True Then
    Teilnehmer = Teilnehmer & "TM 3" & ", "
    Else
    Abwesend = Abwesend & "TM 3" & ", "
    End If
    If CheckBox4 = True Then
    Teilnehmer = Teilnehmer & "TM 4" & ", "
    Else
    Abwesend = Abwesend & "TM 4" & ", "
    End If
    If CheckBox5 = True Then
    Teilnehmer = Teilnehmer & "TM 5" & ", "
    Else
    Abwesend = Abwesend & "TM 5" & ", "
    End If
    If CheckBox6 = True Then
    Teilnehmer = Teilnehmer & "TM 6" & ", "
    Else
    Abwesend = Abwesend & "TM 6" & ", "
    End If
    If CheckBox7 = True Then
    Teilnehmer = Teilnehmer & "TM 7" & ", "
    Else
    Abwesend = Abwesend & "TM 7" & ", "
    End If
   
    If CheckBox9 = True Then
    Teilnehmer = Teilnehmer & "TM 8" & ", "
    End If
    If CheckBox10 = True Then
    Teilnehmer = Teilnehmer & "TM 9" & ", "
    End If
    If CheckBox11 = True Then
    Teilnehmer = Teilnehmer & "TM 10" & ", "
    End If
    If CheckBox12 = True Then
    Teilnehmer = Teilnehmer & "TM 11"
    End If
   
   
    ReplaceBookmarkText(ActiveDocument, "Anwesende") = Teilnehmer
    ReplaceBookmarkText(ActiveDocument, "Abwesende") = Abwesend
    Unload Me
   
End Sub

Public Property Get ReplaceBookmarkText(oDoc As Document, strBMName As String) As String
    Dim rng As Range
    If oDoc.Bookmarks.Exists(strBMName) Then
        ReplaceBookmarkText = oDoc.Bookmarks(strBMName).Range.Text
    Else
        ReplaceBookmarkText = ""
    End If

End Property

Property Let ReplaceBookmarkText(oDoc As Document, strBMName As String, strText As String)
    Dim rng As Range
    If oDoc.Bookmarks.Exists(strBMName) Then
        Set rng = oDoc.Bookmarks(strBMName).Range
        rng.Text = strText
        oDoc.Bookmarks.Add strBMName, rng
    End If
End Property

[attachment=28932]

Nun muß ich es noch hinbekommen, daß ich am Ende des Strings die letzten zwei Zeichen lösche.
(15.01.2020, 15:09)Rabe schrieb: [ -> ]Nun muß ich es noch hinbekommen, daß ich am Ende des Strings die letzten zwei Zeichen lösche.
myString = Left(myString, Len(myString) - 2)
Gruß Uwe
Hi Uwe,

ich hatte noch nicht drüber nachgedacht, aber so einfach geht's.

Danke!