Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

if abfrage monster verkürzen

Forumthread: if abfrage monster verkürzen

if abfrage monster verkürzen
27.04.2017 08:53:52
Daniel
Hallo zusammen,
mir missfällt mir die riesen "If"-Abfrage und ich bin mir sicher Ihr habt da eine wesentlich elegantere Lösung.

If Me.Material = "10346" Then
arr_no = 0
End If
If Me.Material = "10415" Then
arr_no = 1
End If
If Me.Material = "10618" Then
arr_no = 2
End If
If Me.Material = "11921" Then
arr_no = 3
End If
If Me.Material = "11988" Then
arr_no = 4
End If
If Me.Material = "12391" Then
arr_no = 5
End If
If Me.Material = "12568" Then
arr_no = 6
End If
If Me.Material = "12755" Then
arr_no = 7
End If
If Me.Material = "12758" Then
arr_no = 8
End If
If Me.Material = "13421" Then
arr_no = 9
End If
If Me.Material = "13565" Then
arr_no = 10
End If
If Me.Material = "13779" Then
arr_no = 11
End If
If Me.Material = "13915" Then
arr_no = 12
End If

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: if abfrage monster verkürzen
27.04.2017 08:54:27
Daniel
vielen Dank im Vorraus ;)
AW: if abfrage monster verkürzen
27.04.2017 09:04:36
UweD
Hallo
ungetestet...
arr_no = WorksheetFunction.Match(Me.material, Array(10346, 10415, 10618, 11921, 11988, 12391, 12568,usw), 0) - 1

LG UweD
AW: if abfrage monster verkürzen
27.04.2017 09:28:46
Daniel
Hi
da gibt's natürlich verschiedene Varianten.
Wenn nur die Zahlenfolge 0-x oder 1-x zugeordnet werden soll, dann mit Worksheetfunction.Match wie von Uwe gezeigt.
Wenn auch andere Werte zugeordnet werden sollen, dann:
etwas eleganter mit Select Case:
Select Case Me.Material
Case "10346": arr_no = 0
Case "10415": arr_no = 1
Case "13915": arr_no = 12
Case else: arr_no = 999
End Select

Generell würde ich solle Daten in einer HilfsTabelle hinterlegen:
A____ | B
10346 | 0
10415 | 1
...
13915 | 12
und dann die Werte zuordnen mit:
arr_no = Worksheetfunction.VLookUp(Me.Material, Sheets("Tabelle1").Range("A:B"),2 ,0)

oder
arr_no = Sheets("Tabelle1").Columns(1).Find(what:=Me.Material, lookat:=xlwhole).Offset(0, 1).value
das hätte den Vorteil, dass du weitere Materialnummern ergänzen und löschen kannst, ohne in den Code eingreifen zu müssen.
Gruß Daniel
Anzeige
AW: if abfrage monster verkürzen
28.04.2017 07:32:19
Daniel
vielen Dank im Vorraus ;)
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige