Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1828to1832
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

UserForm Schleife

UserForm Schleife
29.04.2021 19:11:01
Anna
Hallo zusammen,
Ich habe eine ComboBox „Bauteil“ mit den Bauteilen (X, Y, Z) zur Auswahl.
Danach folgt eine Textbox „Anzahl je Bauteil“.
Wenn nun ein Bauteil ausgewählt wird, werden automatisch die jeweiligen Mengen in die TextBox übernommen: Bauteil X = 5, Bauteil Y = 10 und bei Bauteil Z = 15
Jetzt würde ich vorher noch gerne eine Schleife einbauen mit einer ComboBox "Lieferant".
Wenn jetzt der Lieferant "A" ausgewählt wird sollen genau diese Menge übernommen werden (Bauteil X = 5, Bauteil Y = 10 und Bauteil Z = 15).
Bei Lieferant "B" sind die Mengen anders (Bauteil X = 2, Bauteil Y = 4 und Bauteil Z = 6).
Könnte mir bitte jemand den Code hierzu senden?
Vielen Dank vorab für eure Unterstützung 😊
Bisheriger Code:

Private Sub UserForm_Activate()
With ComboBox1
.Clear
.ColumnCount = 2
.AddItem "X"
.List(0, 1) = "5"
.AddItem "Y"
.List(1, 1) = "10"
.AddItem "Z"
.List(2, 1) = "15"
End With
End Sub

Private Sub ComboBox1_Change()
With ComboBox1
If .ListIndex = -1 Then
TextBox1 = ""
Else
TextBox1 = .List(.ListIndex, 1)
End If
End With
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Schleife
29.04.2021 19:58:28
ralf_b

Private Sub UserForm_Activate()
with Lieferant
.clear
.additem "A"
additem "B"
.Listindex= 0
end with
End Sub
Private Sub Lieferant_Change()
dim x,y,z
if Lieferant.listindex >-1 then
select case  Lieferant
case "A"
x= 5
y = 10
z = 15
case "B"
x= 2
y = 4
z = 6
end select
With ComboBox1
.Clear
.ColumnCount = 2
.AddItem "X"
.List(0, 1) = x
.AddItem "Y"
.List(1, 1) = y
.AddItem "Z"
.List(2, 1) =z
End With
end if
end sub

AW: UserForm Schleife
29.04.2021 20:11:48
Nepumuk
Hallo Anna,
teste mal:
Code:

[Cc][+][-]

Option Explicit Private mblnNoEvent As Boolean Private Sub ComboBox1_Change() With ComboBox1 If .ListIndex = -1 Then TextBox1.Text = "" Else TextBox1.Text = .List(.ListIndex, 1) If Not mblnNoEvent Then Call ComboBox2_Change End If End With End Sub Private Sub ComboBox2_Change() If ComboBox2.ListIndex = 1 Then TextBox1.Text = (TextBox1.Text - (ComboBox1.ListIndex + 1)) / 2 Else mblnNoEvent = True Call ComboBox1_Change mblnNoEvent = False End If End Sub Private Sub UserForm_Activate() With ComboBox1 .ColumnCount = 2 .AddItem "X" .List(0, 1) = "5" .AddItem "Y" .List(1, 1) = "10" .AddItem "Z" .List(2, 1) = "15" End With ComboBox2.List = Array("A", "B") End Sub

Gruß
Nepumuk
Anzeige
AW: UserForm Schleife
29.04.2021 20:18:01
Nepumuk
Hallo nochmal,
noch ne Sicherheitsabfrage falls der Lieferant vor dem Artikel gewählt wird:
Code:

[Cc][+][-]

Option Explicit Private mblnNoEvent As Boolean Private Sub ComboBox1_Change() With ComboBox1 If .ListIndex = -1 Then TextBox1.Text = vbNullString Else TextBox1.Text = .List(.ListIndex, 1) If Not mblnNoEvent Then Call ComboBox2_Change End If End With End Sub Private Sub ComboBox2_Change() If ComboBox2.ListIndex = 1 Then If TextBox1.Text <> vbNullString Then _ TextBox1.Text = (TextBox1.Text - (ComboBox1.ListIndex + 1)) / 2 Else mblnNoEvent = True Call ComboBox1_Change mblnNoEvent = False End If End Sub Private Sub UserForm_Activate() With ComboBox1 .ColumnCount = 2 .AddItem "X" .List(0, 1) = "5" .AddItem "Y" .List(1, 1) = "10" .AddItem "Z" .List(2, 1) = "15" End With ComboBox2.List = Array("A", "B") End Sub


 

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige