Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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
Inhaltsverzeichnis

Array aus Textfeld erzeugen

Array aus Textfeld erzeugen
19.03.2014 10:59:45
Marcel
Hallo Zusammen,
ich habe folgendes "Problem":
In meiner Excelmappe befinden sich in den Zellen A1:A10 unterschiedliche Inhalte nach dem Format "test12345". Ich muss prüfen ob sich irgendwo in diesem Bereich bestimmte Einträge befinden. Die Anzahl der vorhandenen und zu suchenden Einträge variiert zwischen 10 und 100.
Ich würde das mittels Arrays lösen:

Sub matchvalues()
Dim letztezeile As Integer
letztezeile = Cells(Rows.Count, 1).End(xlUp).Row
'fill array with own values - a_myvalues ist public
a_myvalues = Range("a2:a" & letztezeile).Value
Load frm_search
frm_search.Show
End Sub

Die zu suchenden Einträge habe ich aktuell per Userform/Textfeld in ein zweites Array _
geschrieben:

Private Sub cmdbtn_save_Click()
'local declarations
Dim a_notfound As Variant
Dim a_matchvalues As Variant
Dim i As Integer
Dim x As Variant
Dim a As Integer
Dim save As Integer
'creat a_matchvalues
'Zweites Array mit den Suchwerten
a_matchvalues = Split(txt_searchfor.Text, Chr(13))
'match arrays
For i = 0 To UBound(a_matchvalues)
x = Application.Match(a_matchvalues(i), a_myvalues, 0)
If Not IsNumeric(x) Then a_notfound = a_matchvalues(i)
Next
'Ausgabe a_notfound
For a = 0 To UBound(a_matchvalues)
MsgBox a_matchvalues(a)
If a_matchvalues(a) > "" Then Value = Value & a_matchvalues(a) & " nicht
vorhanden" & Chr(13)
Next
Unload frm_search
MsgBox Value, vbokayonly
End Sub

Das läuft aus so weit. Einziges Problem ist, dass beim befüllen von dem zweiten Array (a_matchvalues) ungewollte Leerzeilen entstehen.
a_matchvalues = Split(txt_searchfor.Text, Chr(13))
Führt offenbar dazu, dass im Array nachher ein zweizeiliger Eintrag entsteht. Daraus resultiert, dass ich nur den ersten Eintrag aus dem zweiten Array (a_matchvalues) im ersten Array (a_myvalues) finde. Denn, im ersten Array sind logischerweise nur einzeilige Werte gespeichert.
Gibt es eine elegantere Möglichkeit? (Man könnte die zusuchenden Werte auch einfach in eine Bereich der Mappe kopieren und daraus dann das zweite Array erzeugen. Finde ich persönlich aber nicht so userfreundlich)
Danke im Voraus
Marcel

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array aus Textfeld erzeugen
19.03.2014 11:44:56
Rudi
Hallo,
a_matchvalues = Split(txt_searchfor.Text, vbCrLf)
Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige