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

Forumthread: vba - kein Finden wegen Textumbrüche

vba - kein Finden wegen Textumbrüche
25.07.2021 11:28:53
Fred
Hallo Excel Experten,
ich habe ein Arbeitsblatt "Result_1" mit Fußballspielen und Endergebnissen.
und ein Blatt "Result_2" nur mit den Spielen.
Ich möchte nun die Spiele in "Result_2" mit den entsprechenden Ergebnissen ergänzen.
Das klappt ggf. mit folgenden Makro:

Sub ergebnis()
Dim ArZiel, ArQuelle, rngZiel As Range, n&, c&
With Sheets("Result_1")
Set rngQuell = .Range("a2", .Cells(.Rows.Count, 1).End(xlUp)).Offset(0, 2).Resize(, 4)
End With
With Sheets("Result_2")
Set rngZiel = .Range("a2", .Cells(.Rows.Count, 1).End(xlUp)).Offset(0, 2).Resize(, 4)
End With
ArQuelle = rngQuell.Value2
ArZiel = rngZiel.Value2
For n = LBound(ArQuelle) To UBound(ArQuelle)
For c = LBound(ArZiel) To UBound(ArZiel)
If ArZiel(c, 1) = ArQuelle(n, 1) And _
ArZiel(c, 2) = ArQuelle(n, 2) Then
For sp = 8 To 11 'Wertespalten
Sheets("Result_2").Cells(c + 1, sp + 5) = Sheets("Result_1").Cells(n + 1, sp - 2) _
' Result_2, Result_1
Next sp
End If
Next
Next
End Sub
Problem:
Eventuell sind die Teamnamen mit Textumbruch und "die erste Zeile" ist leer.
Das kann in Blatt "Result_1" und "Result_2" vorkommen.
Mein Anliegen:
Kann das Makro dahin ergänzt werden, dass Textumbrüche beim Vergleich der Teams keine Rolle spielen?
Zum evt. besseren Verständnis:
https://www.herber.de/bbs/user/147290.xlsb
Könnte bitte ein Experte mal drauf schaun und mir evt. eine Lösung schreiben?
Gruss
Fred
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: vba - kein Finden wegen Textumbrüche
25.07.2021 11:48:47
Werner
Hallo,
und warum entfernst du am Anfang des Codes nicht einfach die Zeilenumbrüche?

Sub ergebnis()
Dim ArZiel, ArQuelle, rngZiel As Range, n&, c&
With Sheets("Result_1")
.Range("C10:D" & .Cells(.Rows.Count, "C").End(xlUp).Row).Replace Chr(10), ""
Set rngQuell = .Range("a2", .Cells(.Rows.Count, 1).End(xlUp)).Offset(0, 2).Resize(, 4)
End With
With Sheets("Result_2")
Set rngZiel = .Range("a2", .Cells(.Rows.Count, 1).End(xlUp)).Offset(0, 2).Resize(, 4)
End With
ArQuelle = rngQuell.Value2
ArZiel = rngZiel.Value2
For n = LBound(ArQuelle) To UBound(ArQuelle)
For c = LBound(ArZiel) To UBound(ArZiel)
If ArZiel(c, 1) = ArQuelle(n, 1) And _
ArZiel(c, 2) = ArQuelle(n, 2) Then
For sp = 8 To 11
Sheets("Result_2").Cells(c + 1, sp + 5) = Sheets("Result_1").Cells(n + 1, sp - 2)
Next sp
End If
Next
Next
End Sub
Gruß Werner
Anzeige
Danke Rolf & Werner !!
25.07.2021 12:19:38
Fred
Hallo Werner und Rolf,
beide Versionen funzen!
Mit dem "Ersetzen" bzw. "Replace Chr(10)" in VBA habe ich bisher wenig Erfahrung,- bin ehrlich gesagt auch gar nicht auf diese Möglichkeit gekommen ....
Vielen Dank, Rolf und Werner!!!
Gruss
Fred
Gerne u. Danke für die Rückmeldung. o.w.T.
25.07.2021 12:29:17
Werner
AW: vba - kein Finden wegen Textumbrüche
25.07.2021 11:52:48
Rolf
Hallo Fred
ersetze in deinem Vergleich
ArQuelle(n, 1) durch Replace(ArQuelle(n, 1), Chr(10), ""), bzw
ArQuelle(n, 2) durch Replace(ArQuelle(n, 2), Chr(10), "")
dann sollte es klappen
Gruß Rolf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige