Thema Datum  Von Nutzer Rating
Antwort
09.10.2007 05:21:56 Rupert Jung
NotSolved
Blau Aw:Suchen nach bestimmtem Wert in Array möglich?
09.10.2007 10:46:24 Holger
NotSolved
09.10.2007 15:15:41 Rupert Jung
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
09.10.2007 10:46:24
Views:
893
Rating: Antwort:
  Ja
Thema:
Aw:Suchen nach bestimmtem Wert in Array möglich?
Die Lösung ist einfach: mit einer For-Next-Schleife, z.B. zum Duchsuchen aller Spalten und Zeilen und Speichern aller Treffer, nicht nur des ersten:

Suchwert = InputBox("Suchwert") 'oder irgendwie anders eingeben, z.B. TextBox
ReDim Zeile(0), Spalte(0)
k=0
For j=0 to UBound(Beispiel_Array, 1) 'unabhängig von der augenblicklichen Arraygröße
For i=0 to UBound(Beispiel_Array, 2)
If Beispiel_Array(j,i)=Suchwert Then
ReDim Preserve Zeile(k),Spalte(k) 'behält die bisherigen Werte
Zeile(k)=j
Spalte(k)=i
k=k+1
End If
Next i
Next j
a=""
For i=0 to k 'Ausgabe vorbereiten
a=a+VbCrLf+Str(Zeile(i))+","+Str(Spalte(i))
Next i
MsgBox ("Der Suchwert "+Suchwert"+" steht in folgenden Zellen (Zeile, Spalte)"+a)

Wenn nur bestimmte Spalten eines mit 500 Zeilen definierten Arrays durchlaufen werden sollen, lässt sich das Programm vereinfachen. Wenn dann auch noch nach dem ersten Fund abgebrochen werden soll, kann die verbliebene Schleife auch mit einem Exit For verlassen werden. Beispiel: Suchspaltenzahl sei 1:

Suchwert = InputBox("Suchwert")
For j=0 to 500
If Beispiel_Array(j,1)=Suchwert Then Exit For
Next j
If j=501 Then MsgBox ("Kein Treffer") Else MsgBox ("Treffer in Zeile"+Str(j))

Hoffentlich nützen die Vorschläge ggf. auch unter Zuhilfenahme der VBA-Hilfe für einzelne Befehle.
Holger


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
09.10.2007 05:21:56 Rupert Jung
NotSolved
Blau Aw:Suchen nach bestimmtem Wert in Array möglich?
09.10.2007 10:46:24 Holger
NotSolved
09.10.2007 15:15:41 Rupert Jung
NotSolved