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
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' | | A | B | C | D | E | 1 | Otto | | | Willi | Willi | 2 | | | | Bald | Bald | 3 | | | | Otto | | 4 | | | | Kar | Kar |
|
Zelle | Formel | 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) |
| Zelle | Gültigkeitstyp | Operator | Wert1 | Wert2 | A1 | Liste | | =$E$1:$E$4 | | A2 | Liste | | =$E$1:$E$4 | | A3 | Liste | | =$E$1:$E$4 | | A4 | Liste | | =$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
In Word läuft es wirklich auf eine Lösung mit VBA hinaus
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!