Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1000to1004
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
Platzhalter für Inputbox?
17.08.2008 19:17:00
pims
Hallo,
habe folgendes Problem:
Lasse mir nach Eingabe des Gewerks in einer Inputbox aus einer Tabelle per Zufallsgenerator sieben Firmen für ein bestimmtes Gewerk anzeigen. Die Gewerke, die eine Firma anbietet, stehen durch Komma getrennt in einer Zelle. Bei Firmen, die nur ein Gewerk anbieten, ist das kein Problem, wie kann ich aber Firmen, die mehrere Gewerke anbieten, anzeigen lassen (wo also das gesuchte Gewerk nach dem ersten oder zweiten Komma in der Zelle steht)? Geht das mit einem Platzhalter, wenn ja, wie?
Hier der Code:
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
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


Stehe total auf dem Schlauch. Kann mir bitte jemand helfen!
Danke im voraus
Pims

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Platzhalter für Inputbox?
17.08.2008 19:33:00
Ramses
Hallo
"...Stehe total auf dem Schlauch..."
Ich auch, ich kann mir beim besten Willen nicht vorstellen wie das aussehen soll, und was du unter
"..wo also das gesuchte Gewerk nach dem ersten oder zweiten Komma in der Zelle steht).."
verstehst.
Allenfalls würde ich jetzt aus der Hüfte heraus mal auf die Funktionen INSTR(); LEFT() und RIGHT() tippen.
Erläuterungen dazu in der VBA-Online Hilfe
Gruss Rainer

AW: Platzhalter für Inputbox?
17.08.2008 19:55:00
Gerd
Hallo Pims!

Sub Schlauch()
dim i as integer
For i = 1 to Ubound(Split(Cells(1,1), ",")
Msgbox Split(Cells(1,1), ",") (i)
Next
End Sub


Gruß Gerd

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige