Herbers Excel-Forum - das Archiv
Userform
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
- Userform von Stefan vom 10.12.2003 15:12:34

|
Betrifft: Userform
von: Stefan
Geschrieben am: 10.12.2003 15:12:34
hallo ihr fleißigen excel helfer,
ich hab wiedermal ein großes problem und brauche dringend eure hilfe.
ich möchte eine userform programmieren mit zwei eingabefeldern, in denen ich einen namen und ein geburtstagdatum eintragen kann.
wie schaffe ich es das die werte, die ich in der userform eingebe in einer exeltabelle aufgelistet werden?
perfekt wäre es wenn sich dann die geburtstagsliste nach jedem eintrag neu nach dem datum sortieren würde.
ist das irgendwie möglich?
tausend dank für eure hilfe
gruß stefan
Betrifft: AW: Userform
von: Eugen
Geschrieben am: 10.12.2003 15:36:13
Hallo Stefan,
probiere es mal damit:
Dim geburtstag As String
Dim gebname As String
Private Sub CommandButton1_Click()
geburtstag = TextBox1.Value
gebname = TextBox2.Value
Range("A1").Select
Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Value = gebname
ActiveCell.Offset(0, 1).Value = geburtstag
Columns("B:B").Select
Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Zel = "A1"
Zelle = ActiveCell.Address(False, False)
Range(Zel & ":" & Zelle).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
End Sub
Gruß Eugen
Betrifft: AW: Userform
von: Stefan
Geschrieben am: 10.12.2003 15:41:59
??? wo muß ich denn was eintragen?
ich habe eine userform zusammengebastelt auf der zwei textfelder zu sehen sind und jetzt?
ich bin leider ziemlich blass was diese geschichte angeht.
Betrifft: AW: Userform
von: Eugen
Geschrieben am: 10.12.2003 15:48:59
Hi Stefan,
also hier nochmal der Code. Musste noch eine kleinigkeit verändern damit dieser korrekt ausgeführt wird.
Esrtelle eine UserForm mit zwei Textfeldern und einer Schaltfläche die
CommandButton1 heißt. Doppelklick auf die UserForm und den nachfolgenden Code da einfügen. Dann auf "Play" und testen.
Dim geburtstag As String
Dim gebname As String
Private Sub CommandButton1_Click()
geburtstag = TextBox1.Value
gebname = TextBox2.Value
Columns("A:A").Select
Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Value = gebname
ActiveCell.Offset(0, 1).Value = geburtstag
Columns("B:B").Select
Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
Zel = "A1"
Zelle = ActiveCell.Address(False, False)
Range(Zel & ":" & Zelle).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
End Sub
Gruß Eugen
Betrifft: AW: Userform
von: Stefan
Geschrieben am: 10.12.2003 15:58:50
das funktioniert, aber nicht bei mir! ich bekomme immer die fehlermeldung:
benanntes argument nicht bekannt. und SearchFormat:=False) ist blau markiert?
was nun?
Betrifft: AW: Userform
von: Eugen
Geschrieben am: 10.12.2003 16:07:43
Probiere es damit ...
SearchFormat:=False wurde hier nur herausgelöscht
Dim geburtstag As String
Dim gebname As String
Private Sub CommandButton1_Click()
geburtstag = TextBox1.Value
gebname = TextBox2.Value
Columns("A:A").Select
Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False).Activate
ActiveCell.Value = gebname
ActiveCell.Offset(0, 1).Value = geburtstag
Columns("B:B").Select
Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False).Activate
Zel = "A1"
Zelle = ActiveCell.Address(False, False)
Range(Zel & ":" & Zelle).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
End Sub
Betrifft: AW: Userform
von: Stefan
Geschrieben am: 10.12.2003 16:10:04
geht leider wieder nicht, jetzt ist DataOption1: blau markiert!
Betrifft: Ähem - hüstel...
von: Boris
Geschrieben am: 10.12.2003 16:12:08
Hi,
...wozu dieser ganze Aufwand? Warum möchtest du "Daten-Maske" nicht benutzen? Du baust das mit deinem Userform nur 1:1 nach...
Grüße Boris
Betrifft: AW: Ähem - hüstel...
von: Stefan
Geschrieben am: 10.12.2003 16:23:15
weil das nur ein winziger teil einer eingabe maske werden soll.
Betrifft: AW: Userform
von: Eugen
Geschrieben am: 10.12.2003 16:56:40
Range(Zel & ":" & Zelle).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Probier es mal damit.
Betrifft: AW: Userform
von: Stefan
Geschrieben am: 11.12.2003 08:33:09
geht leider immer noch nicht! sorry!
Betrifft: AW: Userform
von: Eugen
Geschrieben am: 11.12.2003 09:23:04
OK, mach folgendes:
Erstelle eine Beispieltabelle mit Namen und Datum in A und B spalte.
Zeichne dann ein Macro auf und zwar wie folgt:
Macro aufzeichnen
B-Spalte markieren
Daten -> Sorteiren -> Markierung erweitern OK -> und wieder OK
Macro aufzeichnung mit Stop beenden.
Dann ins VBA und sich den Teil der nach
.Sort befindet rauskopieren und in meinem Code ersetzen.
Ich hoffe du kommst klar und es klappt.
Gruß Eugen
Betrifft: DANKE!!!
von: Stefan
Geschrieben am: 11.12.2003 09:50:35
hallo eugen
jetzt funkts, tausend dank nochmal
gruß stefan
Betrifft: AW: Userform - Einfacher: Daten-Maske
von: Boris
Geschrieben am: 10.12.2003 15:44:23
Hi Stefan,
A1: Name B1: Geburtsdatum
Dann Daten-Maske aufrufen. Dort kannst du alles bequem eingeben.
Dann zeichne dir noch das Sortier-Makro auf und weise es einer Schaltfläche zu - fertig.
Grüße Boris