Thema Datum  Von Nutzer Rating
Antwort
30.08.2020 11:04:28 Gangerl_61
NotSolved
30.08.2020 11:25:46 Mase
NotSolved
30.08.2020 12:39:29 Gangerl_61
NotSolved
30.08.2020 12:52:07 Mase
NotSolved
30.08.2020 12:54:53 Mase
NotSolved
30.08.2020 14:31:58 Gangerl_61
NotSolved
30.08.2020 14:39:10 Mase
NotSolved
30.08.2020 15:24:37 Gangerl_61
Solved
30.08.2020 11:30:33 Werner
NotSolved
30.08.2020 12:14:06 Gast31355
NotSolved
30.08.2020 12:28:34 Gangerl_61
NotSolved
30.08.2020 12:33:34 Werner
NotSolved
30.08.2020 12:30:00 Werner
NotSolved
30.08.2020 12:49:12 Gangerl_61
NotSolved
Rot Variable2 = Variable1.Offset
30.08.2020 14:23:42 Werner
NotSolved
30.08.2020 14:44:03 Gangerl_61
NotSolved
30.08.2020 20:10:37 Gangerl_61
Solved

Ansicht des Beitrags:
Von:
Werner
Datum:
30.08.2020 14:23:42
Views:
543
Rating: Antwort:
  Ja
Thema:
Variable2 = Variable1.Offset

Hallo,

kommt auch darauf an, von wievielen Datensätzen wir hier sprechen.

So wie ich das sehe, hast du in Spalte A den jeweiligen Hersteller und in Spalte B die verschiedenen Prokukte des entsprechenden Herstellers.

Sprich in A2 steht dein erster Herstelle und in B2 das erste Prokukt dieses Herstellers.

Alle folgenden Zeilen dieses Herstellers sind leer und in Spalte B (B3 bis B??) stehen die weiteren Produkte.

Anschließend dann das gleiche Spiel mit dem nächsten Hersteller.

Also z.B.:

A2 Hersteller A

B2 bis B5 die Produkte dieses Herstellers

A6 Hersteller B

B6 bis B10 die Produkte dieses Herstellers

A10 Hersteller C

ab B10 die Produkte dieses Herstellers

 

Ginge z.B. so:

Option Explicit

Private Sub ComboBox1_Change()
Dim raFund As Range, i As Long

With Worksheets("Tabelle2")
    If Me.ComboBox1.ListIndex > -1 Then
        Me.TextBox1 = ""
        Me.TextBox2 = ""
        Me.TextBox3 = ""
        Set raFund = .Columns("A").Find(what:=Me.ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
        If Not raFund Is Nothing Then
            Me.ComboBox2.Clear
            Me.ComboBox2.AddItem raFund.Offset(, 1)
            For i = raFund.Offset(1).Row To .Cells(.Rows.Count, "B").End(xlUp).Row
                If .Cells(i, "A") = "" And .Cells(i, "B") <> "" Then
                    Me.ComboBox2.AddItem .Cells(i, "B")
                Else
                    Exit For
                End If
            Next i
        End If
    Else
        Me.ComboBox2.Clear
    End If
End With

Set raFund = Nothing
End Sub

Private Sub ComboBox2_Change()
Dim raFund As Range

With Worksheets("Tabelle2")
    If Me.ComboBox2.ListIndex > -1 Then
        Set raFund = .Columns("B").Find(what:=Me.ComboBox2, LookIn:=xlValues, lookat:=xlWhole)
        If Not raFund Is Nothing Then
            Me.TextBox1 = raFund.Offset(, 1)
            Me.TextBox2 = raFund.Offset(, 2)
            Me.TextBox3 = raFund.Offset(, 3)
        End If
    End If
End With

Set raFund = Nothing
End Sub

Private Sub UserForm_Initialize()
Dim i As Long

With Worksheets("Tabelle2")
    For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
        If .Cells(i, "A") <> "" Then Me.ComboBox1.AddItem .Cells(i, "A")
    Next i
End With
End Sub

 

Gruß Werner


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
30.08.2020 11:04:28 Gangerl_61
NotSolved
30.08.2020 11:25:46 Mase
NotSolved
30.08.2020 12:39:29 Gangerl_61
NotSolved
30.08.2020 12:52:07 Mase
NotSolved
30.08.2020 12:54:53 Mase
NotSolved
30.08.2020 14:31:58 Gangerl_61
NotSolved
30.08.2020 14:39:10 Mase
NotSolved
30.08.2020 15:24:37 Gangerl_61
Solved
30.08.2020 11:30:33 Werner
NotSolved
30.08.2020 12:14:06 Gast31355
NotSolved
30.08.2020 12:28:34 Gangerl_61
NotSolved
30.08.2020 12:33:34 Werner
NotSolved
30.08.2020 12:30:00 Werner
NotSolved
30.08.2020 12:49:12 Gangerl_61
NotSolved
Rot Variable2 = Variable1.Offset
30.08.2020 14:23:42 Werner
NotSolved
30.08.2020 14:44:03 Gangerl_61
NotSolved
30.08.2020 20:10:37 Gangerl_61
Solved