Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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
Inhaltsverzeichnis

Eintrag UF aus Liste

Eintrag UF aus Liste
10.02.2020 08:42:08
Bo
Guten Tag,
ich möchte ereignisgesteuert die Werte von Listen bzw. Comboboxen einer UserForm mit den Werten einer Zeile belegen. Das klappt auch soweit sowohl bei Strings als auch bei Teilen eines Dates, nur bei Me.List_D_ADate funktioniert es nicht. Bei allen anderen Zeilen funktioniert es einwandfrei und die Bezeichnung der Liste passt auch. Der Debug.Print gibt mir auch den richtigen Teilwert des Datums aus. Ich habe auch einmal versucht, den Wert zuvor auf "" zu setzen.
Private Sub Combo_Ref_Change()
Dim i As Integer, lastE As Integer
With ThisWorkbook.Worksheets("E")
Worksheets("E").Activate
lastE = ThisWorkbook.Worksheets("E").Cells(Rows.Count, 3).End(xlUp).Row + 1
For i = 3 To lastE
If .Cells(i, 2).Value = frmEinsatzändern.Combo_Ref.Value Then
Debug.Print .Cells(i, 4).Value
Me.List_Name.Value = .Cells(i, 3).Value
Me.List_Vorname.Value = .Cells(i, 4).Value
Me.List_Projekt.Value = .Cells(i, 7).Value
Me.List_Art.Value = .Cells(i, 6).Value
Me.List_D_ADate.Value = Left(.Cells(i, 8).Value, 2)
Me.List_M_ADate.Value = Mid(.Cells(i, 8).Value, 4, 2)
Me.List_Y_ADate.Value = Right(.Cells(i, 8).Value, 4)
Me.List_D_EDate.Value = Left(.Cells(i, 9).Value, 2)
Me.List_M_EDate.Value = Mid(.Cells(i, 9).Value, 4, 2)
Me.List_Y_EDate.Value = Right(.Cells(i, 9).Value, 4)
Me.List_AU.Value = " "
End If
Next
End With
End Sub

Bekomme Laufzeitfehler '380' Objekt konnte nicht gesetzt werden. Ungültiger Eigenschaftswert

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

Betreff
Datum
Anwender
Anzeige
AW: Eintrag UF aus Liste
10.02.2020 09:01:46
Matthias
Moin!
HAben deine Listboxen eine RowSource zugewiesen? Wenn ja, kannst du denen keinen Wert zuweisen. Da üsstest du die RowSource erst entfernen (geht auch mit VBA). Das könnte jetzt auf die Schnelle eine Möglichkeit sein.
VG
AW: Eintrag UF aus Liste
10.02.2020 09:20:54
fcs
Hallo Mathias,
Bo versucht in dem Makro die Value-Eigenschaft der Listbox zu setzen.
Und da muss der Datentyp in der Listbox (Rowsource oder Array für List-Eigenschaft) übereinstimmen und der Wert muss in der Auswahlliste vorhanden sein.
Deshalb evtl. der Fehler im Makroablauf.
LG
Franz
AW: Eintrag UF aus Liste
10.02.2020 10:08:17
Bo
Hallo Franz und Matthias,
ich habe mir schon etwas in der Richtung gedacht, hatte aber keine Lösung parat. Die Liste wird so definiert:

With List_D_ADate
For i = 1 To 31
.AddItem CInt(i)
Next
End With
Der Zusatz Val() funktioniert, leider wird jetzt List_Projekt nichtmehr übernommen. haha
LG Bo
Anzeige
AW: Eintrag UF aus Liste
10.02.2020 11:48:49
Matthias
Moin!
Dann wandle nur die Werte, die du der Listbox zuweist, in eine Zahl um. Bspw. so:
= CInt(Left(.Cells(1, 1).Value, 2))

Dann hast du da auch keinen Typenkonflikt.
VG
AW: Eintrag UF aus Liste
10.02.2020 09:16:33
fcs
Hallo Bo,
  • 1. in der Listbox musst der entsprechende Wert in der Auswahlliste vorhanden sein
  • 2. evtl. steht der Tag des Datums als Zahl (1, 2, 3, etc) in der Auswahlliste der Listbox und nicht als Text (01, 02, 03, etc). Dann funktioniert die Wertzuweisung nicht, da du versuchst einen Text als Wert in einer Liste mit Zahlen zuzuweisen.

  • Funktioniert die Zuweisung eines Tages denn bei der Listbox mit dem Ende-Datum?
    Wenn du Teile eines Datums (Tag, Woche oder Jahr) auswertest, dann ist es manchmal hilfreich die Text-Eigenschaft einer Zelle zu verwenden - das ist dann der am Bildschirm angezeigte Zellinhalt.
    Hinweis: Wenn du schon mit einem With-Block arbeitest, dann solltest du konsequent auf das zugehörige Objekt referenzieren (mit dem Punkt vor der Methode/Eigenschaft) und nicht das gleiche Objekt mit vollem Namen wiederholen.
    LG
    Franz
    Private Sub Combo_Ref_Change()
    Dim i As Integer, lastE As Integer
    With ThisWorkbook.Worksheets("E")
    .Activate
    lastE = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
    For i = 3 To lastE
    If .Cells(i, 2).Value = frmEinsatzändern.Combo_Ref.Value Then
    Debug.Print .Cells(i, 4).Value
    Me.List_Name.Value = .Cells(i, 3).Value
    Me.List_Vorname.Value = .Cells(i, 4).Value
    Me.List_Projekt.Value = .Cells(i, 7).Value
    Me.List_Art.Value = .Cells(i, 6).Value
    Me.List_D_ADate.Value = Val(Left(.Cells(i, 8).Value, 2)) 'wandelt Text in Zahl  _
    um
    Me.List_M_ADate.Value = Mid(.Cells(i, 8).Value, 4, 2)
    Me.List_Y_ADate.Value = Right(.Cells(i, 8).Value, 4)
    Me.List_D_EDate.Value = Left(.Cells(i, 9).Value, 2)
    Me.List_M_EDate.Value = Mid(.Cells(i, 9).Value, 4, 2)
    Me.List_Y_EDate.Value = Right(.Cells(i, 9).Value, 4)
    Me.List_AU.Value = " "
    End If
    Next
    End With
    End Sub
    

    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige