Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Auswahl über Inputbox

Betrifft: Auswahl über Inputbox von: pims
Geschrieben am: 19.08.2008 06:39:36

Hallo,

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

  

Betrifft: AW: Auswahl über Inputbox von: Dirk aus Dubai
Geschrieben am: 19.08.2008 07:52:27

Hallo Pims,

anbei mal ein Link zum Thema instr

http://www.online-excel.de/excel/singsel_vba.php?f=18

InStr ist ein Kommando, um in einem String nach einem String zu suchen. Falls Du das bei Dir einbaust, sollte es klappen.

Gruss

Dirk aus Dubai


  

Betrifft: AW: Auswahl über Inputbox von: pims
Geschrieben am: 19.08.2008 17:08:23

Hallo Dirk,

danke für die Antwort. Bin damit aber nicht weitergekommen, weil ich nicht weiß, was hier als zu suchender Text einzugeben wäre.
Dank Heiko ist mein Problem inzwischen gelöst
Ich danke Dir für dein Hilfsangebot.

Gruß nach Dubai
Pims


  

Betrifft: AW: Auswahl über Inputbox von: Heiko S.
Geschrieben am: 19.08.2008 10:11:53

Hallo Pims,

z.B. so. Ich habe das Blatt mit der Firmen / Gewerke Liste mal als Blatt "Daten" benannt.
Mußt du im Code oder das Blatt umbenennen.

https://www.herber.de/bbs/user/54716.xls


Gruß Heiko

PS: Rückmeldung wäre nett !


  

Betrifft: AW: Auswahl über Inputbox von: pims
Geschrieben am: 19.08.2008 16:59:19



Hallo Heiko,

genau das ist es - läuft super, danke!!

Und wie das immer so ist: wenn die eine Frage beantwortet ist, stellt sich gleich die nächste:

Wenn nun in drei weiteren Spalten noch Straße/Hausnummer, PLZ und Ort der Firma in der Grundtabelle "Daten" stehen, kann ich die mit wenig Aufwand mit in die Tabelle "Zufallsgenerator" in Spalten 2 bis 4 übernehmen?

Danke!

Pims


  

Betrifft: AW: Auswahl über Inputbox von: Heiko S.
Geschrieben am: 19.08.2008 17:25:30

Hallo Pims,

das geht z.B. so:


https://www.herber.de/bbs/user/54729.xls


Gruß Heiko

PS: Rückmeldung wäre nett !!!


  

Betrifft: AW: Auswahl über Inputbox von: pims
Geschrieben am: 19.08.2008 20:23:35

Hallo Heiko,

tausend Dank!

Echt super, wie schnell Du mir das auch noch gelöst hast.

Die nächste Frage kommt bestimmt! - bis dahin

Tschau
Pims


 

Beiträge aus den Excel-Beispielen zum Thema "Auswahl über Inputbox"