Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1096to1100
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

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

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

Betreff
Benutzer
Anzeige
Werte zweier ARRAYs vergleichen
25.08.2009 23: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 00: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
25.08.2009 23: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
AW: Strings per VBA auserten
26.08.2009 14:12:20
maart
Hallo Jungs,
vielen Dank für eure Lösungen!
Gruß
maart
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige