AW: Userform - Auswahlliste
29.03.2018 21:18:39
Daniel
Aber...bei einer so einfachen Sache...würde ich, wenn nicht über die Formel, einfach über ein UserForm gehen und dort Labels einfügen...
Dann gäbe es nen Code im Sheet der durch einen Schalter ausgelöst wird - z.B.:
Private Sub CommandButton1_Click()
Dim varRow As Variant
varRow = Application.Match(Sheets("Kundennummer").Range("K1"), Sheets("Kundennummer").Columns(1) _
, 0)
If Sheets("Kundennummer").Cells(varRow, 3) = "" Then
Sheets("Kundennummer").Range("K2") = Sheets("Kundennummer").Cells(varRow, 2)
Else
UserForm1.Show
End If
End Sub
Damit prüfst du erst, ob zu der KdNr noch eine zweite Email existiert (dabei gehe ich davon aus, dass dieses Formular so gepflegt ist, dass wenn dann sofort die zweite Emailadresse eingetragen ist und da nix leer ist) - wenn nicht, dann wird diese erste Email sofort in "K2" eingetragen - und wenn mehr als die eine existieren, dann wird das UserForm geöffnet...
Und weil das nur 5 maximal sind würde ich mir da gar keinen großen Stress machen und einfach folgendes einfügen:
Private Sub Label1_Click()
Sheets("Kundennummer").Range("K2") = Label1
End Sub
Private Sub Label2_Click()
Sheets("Kundennummer").Range("K2") = Label2
End Sub
Private Sub Label3_Click()
Sheets("Kundennummer").Range("K2") = Label3
End Sub
Private Sub Label4_Click()
Sheets("Kundennummer").Range("K2") = Label4
End Sub
Private Sub Label5_Click()
Sheets("Kundennummer").Range("K2") = Label5
End Sub
Private Sub UserForm_Initialize()
Dim varRow As Variant
varRow = Application.Match(Sheets("Kundennummer").Range("K1"), Sheets("Kundennummer").Columns(1) _
, 0)
UserForm1.Caption = "Email-Auswahl für KdrNr.: " & Sheets("Kundennummer").Range("K1")
Label1 = Sheets("Kundennummer").Cells(varRow, 2)
Label2 = Sheets("Kundennummer").Cells(varRow, 3)
Label3 = Sheets("Kundennummer").Cells(varRow, 4)
Label4 = Sheets("Kundennummer").Cells(varRow, 5)
Label5 = Sheets("Kundennummer").Cells(varRow, 6)
End Sub
Man könnte das alles auch schöner und weniger umfangreich machen...aber ich nehme nicht an, dass es sehr die Perfomance beeinträchtigen würde es so zu machen...
Aber wenn jemand eine schönere Idee hat - ich hab nur mal eben was zusammengeschrieben...ich habs auch nicht getestet, gehe nur davon aus das es funktionieren würde...
MfG
Daniel