Thema Datum  Von Nutzer Rating
Antwort
Rot If Else / Laufzeitfehler 13
25.06.2023 14:15:31 Marco
NotSolved
25.06.2023 15:51:38 Gast7777
NotSolved
25.06.2023 17:17:15 Marco
NotSolved
25.06.2023 17:21:53 Gast7777
NotSolved
26.06.2023 06:47:41 ralf_b
NotSolved

Ansicht des Beitrags:
Von:
Marco
Datum:
25.06.2023 14:15:31
Views:
458
Rating: Antwort:
  Ja
Thema:
If Else / Laufzeitfehler 13

Hallo Leute! 

Ich bin blutiger Anfänger und scheiter gerade an einer (wahrscheinlich) sehr einfachen If Else. 

Zur Erklärung: Ich befülle drei Arbeitsblätter (a: Adressen, b: Objekte, c: Wohnungen). Im vierten Schritt möchte ich über eine UserForm bestimmte Daten aus den drei Arbeitsblättern miteinander verbinden. Ich habe also als erstes ein Auswahlfeld Objekt.

Dim varObjekt As Variant
    Dim lngLetzte As Long
    With Sheets("Stammdaten - Objekte")
        lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
        varObjekt = .Range("G2:G" & lngLetzte)
    End With
    AuswahlObjID.List = varObjekt

Dann möchte ich nur alle Wohnungen zu diesem Objekt anzeigen und anschließend dieser Wohnung eine Adresse hinzufügen. 

In der Tabelle der Wohnungen ist der Wohnung schon die Nummer des Objekts zugeordnet. Nun möchte ich, dass nach der Auswahl des Objekts im zweiten Auswahlfeld Wohnungen nur noch die Wohnungen für dieses Objekt dargestellt sind. 

Die Werte aus der ersten Auswahlbox speichere ich in der Variable AuswahlObjID bzw. wandle diesen noch in verkürzter Form um in die varObjID. Diese möchte ich nun vergleichen mit den Werten der Spalte A 

Dim varObjID As String
    
    varObjID = AuswahlObjID
    If InStr(varObjID, " ") <> 0 Then
    varObjID = VBA.Left(varObjID, VBA.InStr(1, varObjID, " ") - 1)
    End If

Nun hole ich die Werte aus den Einheiten für die besagte Spalte.

Dim varObjBez As Variant
    Dim lngLetztem As Long
    With Sheets("Stammdaten - Einheiten")
        lngLetztem = .Cells(.Rows.Count, 1).End(xlUp).Row
        varObjBez = .Range("A2:A" & lngLetztem)
    End With

Ich ging davon aus, dass ich nun nur noch die varObjID mit varObjBez vergleichen muss und dann nur die Zellen im Auswahlfeld Einheiten ausgegeben werden, bei denen der Wert True ist. Das funktioniert aber nicht. Hab die Varianten auch schon beide als Variant, bzw. als String erzeugt. Hat aber auch nicht funktioniert. Bekomme nun Laufzeitfehler 13. Was mache ich falsch? 

 'If varObjBez = varObjID Then
    Dim varEinheit As Variant
    Dim lngLetztes As Long
    With Sheets("Stammdaten - Einheiten")
        lngLetztes = .Cells(.Rows.Count, 1).End(xlUp).Row
        varEinheit = .Range("H2:H" & lngLetztes)
    End With
   AuswahlEinh.List = varEinheit
    'End If


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot If Else / Laufzeitfehler 13
25.06.2023 14:15:31 Marco
NotSolved
25.06.2023 15:51:38 Gast7777
NotSolved
25.06.2023 17:17:15 Marco
NotSolved
25.06.2023 17:21:53 Gast7777
NotSolved
26.06.2023 06:47:41 ralf_b
NotSolved