da meine Frage vom 17.08. zwar beantwortet aber noch nicht gelöst ist, beschreibe ich hier noch einmal anders, was ich will.
Ich habe eine Tabelle, in der alle von uns beautragten Firmen mit passendem Gewerk gespeichert sind.
In manchen Zellen steht nur ein Gewerk, bei anderen durch Komma getrennt 2 bis 5 Gewerke.
Bsp.
Firma A Rohbau
Firma B Innenausbau, Rohbau, Außenanlage
Firma C Heizung, Sanitär, Rohbau
Firma D Rohbau
usw.
Mit folgendem Code gebe ich in der Inputbox das Gewerk ein, für das ich 7 Firmen per Zufallsgenerator auswählen will.
Option Explicit
Sub Zufallsauswahl()
Randomize Timer
Dim Zeile As Integer
Dim i As Integer, AnzNam As Integer
Dim allezahlen As Integer
Dim ziehung As Integer
Dim gezogen As Integer
Dim endeindex As Integer
Dim firstCell, nextCell, stringToFind As String
Zeile = Range("B65535").End(xlUp).Row
ReDim Nam(Zeile) As String
ReDim Gew(Zeile) As String
For i = 1 To Zeile
Nam(i) = Cells(i, 2).Value
Gew(i) = Cells(i, 3).Value
Next i
Gew(0) = InputBox("Welches Gewerk")
For i = 1 To Zeile
If Gew(0) = Gew(i) Then
Exit For
Else
If Gew(0) Gew(i) And i = Zeile Then
MsgBox ("Dieses Gewerk gibt es nicht!")
Exit Sub
Else: End If
End If
Next i
Nam(0) = 7 'InputBox("Wieviele Firmen sollen ausgesucht werden?")
If Nam(0) > Zeile Then MsgBox ("Soviele Firmen sind für dieses Gewerk nicht vorhanden!"): Exit _
Sub
AnzNam = 0
For i = 1 To Zeile
If Gew(0) = Gew(i) Then
AnzNam = AnzNam + 1
Nam(AnzNam) = Nam(i)
Else: End If
Next i
ReDim zuzahl(AnzNam) As Integer
ReDim zahl(Nam(0)) As Integer
endeindex = AnzNam
For allezahlen = 1 To AnzNam
zuzahl(allezahlen) = allezahlen
Next allezahlen
Sheets("Zufallsgenerator").Cells(ziehung + 1, 1) = Gew(0)
'Cells(ziehung + 2, 5) = Nam(0)
For ziehung = 1 To Nam(0)
gezogen = Int(Rnd * endeindex) + 1
zahl(ziehung) = zuzahl(gezogen)
zuzahl(gezogen) = zuzahl(endeindex)
endeindex = endeindex - 1
ReDim Preserve zuzahl(endeindex)
Sheets("Zufallsgenerator").Cells(ziehung + 1, 1) = Nam(zahl(ziehung))
Next ziehung
End Sub
Gebe ich nun "Rohbau" in der Inputbox ein, werden mir nur Firma A und Firma D angezeigt. Wie erreiche ich, dass auch Firmen B und C mit erscheinen?
Hoffe, es kann sich jetzt jemand vorstellen, was ich will und mir weiterhelfen.
Danke Euch!
Pims