Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Strings per VBA auserten

Forumthread: Strings per VBA auserten

Strings per VBA auserten
maart
Hallo Leute,
könnte Ihr mir helfen das folgende Problem einfach per VBA zu lösen?
Es gibt zwei Arrays mit Tabellennamen (Strings). Diese Arrays können unterschiedlich groß sein. Zu prüfen gilt es nun ob übereinstimmende Strings vorhanden sind. Die Reihenfolge ist dabei nicht relevant. Nach der Prüfung ist eine Statistik auszugeben. Die Statistik kann in einer MsgBox dargestellt werden.
Hier der Aufbau der Arrays als Beispiel:
a(0) = "daten_xc"
a(1) = "daten_cc"
a(2) = "daten_xx"
a(3) = "daten_ss"
b(0) = "daten_ss"
b(1) = "daten_cc"
b(2) = "daten_tt"
Vielen Dank für eure Anregungen, Code, etc!
Gruß
maart
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Werte zweier ARRAYs vergleichen
26.08.2009 01:47:17
NoNet
Hallo maart,
das könntest Du z.B. so lösen :
Sub ArrayVergleich()
Dim intI As Integer, strT As String
'    Dim a(4) As String, b(3) As String 'Anzahl kann auch variieren
'    a(0) = "daten_xc"
'    a(1) = "daten_cc"
'    a(2) = "daten_xx"
'    a(3) = "daten_ss"
'    b(0) = "daten_ss"
'    b(1) = "daten_cc"
'    b(2) = "daten_tt"
'Alternativ folgende Wertzuweisung :
Dim a, b
a = Array("daten_xc", "daten_cc", "daten_xx", "daten_ss")
b = Array("daten_ss", "daten_cc", "daten_tt")
If UBound(a) > UBound(b) Then
For intI = LBound(b) To UBound(b)
If Not IsError(Application.Match(b(intI), a, 0)) Then
strT = strT & b(intI) & vbLf
End If
Next
Else
End If
MsgBox strT, vbOKOnly, "Übereinstimmungen :"
End Sub
Gruß, NoNet
Anzeige
Uuuups: Immer diese "Halbwahrheiten" ;-)
26.08.2009 02:02:44
NoNet
Sorry maart,
da hatte ich doch glatt den ELSE-Teil der IF-Abfrage unterschlagen - hier ist er :
Sub ArrayVergleich()
Dim intI As Integer, strT As String
'    Dim a(4) As String, b(3) As String 'Anzahl kann auch variieren
'    a(0) = "daten_xc"
'    a(1) = "daten_cc"
'    a(2) = "daten_xx"
'    a(3) = "daten_ss"
'    b(0) = "daten_ss"
'    b(1) = "daten_cc"
'    b(2) = "daten_tt"
'Alternativ folgende Wertzuweisung :
Dim a, b
a = Array("daten_xc", "daten_cc", "daten_xx", "daten_ss")
b = Array("daten_ss", "daten_cc", "daten_tt")
If UBound(a) > UBound(b) Then
For intI = LBound(b) To UBound(b)
If Not IsError(Application.Match(b(intI), a, 0)) Then
strT = strT & b(intI) & vbLf
End If
Next
Else
For intI = LBound(a) To UBound(a)
If Not IsError(Application.Match(a(intI), b, 0)) Then
strT = strT & a(intI) & vbLf
End If
Next
End If
MsgBox strT, vbOKOnly, "Übereinstimmungen :"
End Sub
Gruß, NoNet
Anzeige
AW: Strings per VBA auserten
26.08.2009 01:49:46
Oberschlumpf
Hi maart
Meinst du so:
Sub sbArrCompare()
Dim a(4) As String, b(3) As String, liAIndex As Integer, liBIndex As Integer, lstrErg As  _
String
a(0) = "daten_xc"
a(1) = "daten_cc"
a(2) = "daten_xx"
a(3) = "daten_ss"
b(0) = "daten_ss"
b(1) = "daten_cc"
b(2) = "daten_tt"
For liAIndex = 0 To UBound(a)
For liBIndex = 0 To UBound(b)
If liAIndex  "" Then MsgBox lstrErg
End Sub
Das Ergebnis ist:
Userbild
Hilfts?
Ciao
Thorsten
Anzeige
AW: Strings per VBA auserten
26.08.2009 16:12:20
maart
Hallo Jungs,
vielen Dank für eure Lösungen!
Gruß
maart
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18