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

vergleiche Tabellen

vergleiche Tabellen
Manfred
Hallo zusammen,
gestern hat mir Franz geholfen das Makro zu berichtigen jedoch erst jetzt habe ich gemerkt daß das Makro noch nicht richtig in die Spalten einschreibt.
Im ersten Durchgang werden alle Einträge von Ergebnisse Sp D nach Auswertung in Sp D geschrieben das ist auch richtig, im zweiten Durchgang müssen alle Einträge von Ergebnisse Sp D nach Auswertung in Sp E auch die neuen Einträge, das wird aber nicht gemacht die neuen Einträge werden in Sp D geschrieben.
Kann mir nochmal jemand helfen ?
https://www.herber.de/bbs/user/70887.xls
Public Sub A4_Punkte_uebernen()
Dim WkSh_1  As Worksheet
Dim WkSh_2  As Worksheet
Dim lZeile As Long, lSpalte As Long, vP_Nr As Variant, Zelle As Range
Set WkSh_1 = Worksheets("Auswertung")
Set WkSh_2 = Worksheets("Ergebnisse")
With WkSh_1
For lZeile = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
vP_Nr = .Cells(lZeile, 2).Value
If vP_Nr  "" Then
'P-Nr in Spalte B (2) des Ergebnisblattes suchen
Set Zelle = WkSh_2.Columns(2).Find(What:=vP_Nr, LookIn:=xlValues, lookat:=xlWhole)
If Not Zelle Is Nothing Then
lSpalte = .Cells(lZeile, .Columns.Count).End(xlToLeft).Column
If lSpalte > 3 Then
lSpalte = lSpalte + 1
Else
lSpalte = 4
End If
.Cells(lZeile, lSpalte).Value = WkSh_2.Cells(Zelle.Row, 4).Value
End If
End If
Next lZeile
End With
Call Worksheets("Auswertung").Spaltenbezeichnung
End Sub

Mit freundlichen Grüßen
Manfred

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: vergleiche Tabellen
04.08.2010 11:51:45
Matthias5
Hallo Manfred,
die letzte Spalte wird in deinem Makro innerhalb der Schleife für jeden Spieler individuell ermittelt. Ermittle die letzte Spalte außerhalb der Schleife für alle Spieler gleich:
Public Sub A4_Punkte_uebernen()
Dim WkSh_1 As Worksheet
Dim WkSh_2 As Worksheet
Dim lZeile As Long, lSpalte As Long, vP_Nr As Variant, Zelle As Range
Set WkSh_1 = Worksheets("Auswertung")
Set WkSh_2 = Worksheets("Ergebnisse")
With WkSh_1
lSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1
For lZeile = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
vP_Nr = .Cells(lZeile, 2).Value
If vP_Nr "" Then
'P-Nr in Spalte B (2) des Ergebnisblattes suchen
Set Zelle = WkSh_2.Columns(2).Find(What:=vP_Nr, LookIn:=xlValues, lookat:=xlWhole)
If Not Zelle Is Nothing Then _
.Cells(lZeile, lSpalte).Value = WkSh_2.Cells(Zelle.Row, 4).Value
End If
Next lZeile
Viele Grüße,
Matthias
Anzeige
Und nochmal
04.08.2010 11:54:35
Matthias5
Hi nochmal,
irgendwie habe ich vorhin nicht alles mitkopiert, hier nochmal das komplette Makro:
Public Sub A4_Punkte_uebernen()
Dim WkSh_1  As Worksheet
Dim WkSh_2  As Worksheet
Dim lZeile As Long, lSpalte As Long, vP_Nr As Variant, Zelle As Range
Set WkSh_1 = Worksheets("Auswertung")
Set WkSh_2 = Worksheets("Ergebnisse")
With WkSh_1
 lSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column + 1
For lZeile = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
vP_Nr = .Cells(lZeile, 2).Value
If vP_Nr  "" Then
'P-Nr in Spalte B (2) des Ergebnisblattes suchen
Set Zelle = WkSh_2.Columns(2).Find(What:=vP_Nr, LookIn:=xlValues, lookat:=xlWhole)
If Not Zelle Is Nothing Then _
.Cells(lZeile, lSpalte).Value = WkSh_2.Cells(Zelle.Row, 4).Value
End If
Next lZeile
End With
Call Worksheets("Auswertung").Spaltenbezeichnung
End Sub
Gruß,
Matthias
Anzeige
AW: Und nochmal
04.08.2010 13:13:47
Manfred
Hallo Matthias,
das Ding rennt durch und funzt super, vielen Dank für die schnelle Hilfe.
Ich Hoffe ich finde im wöchentlichen gebrauch keine weiteren Fehler.
Mit freundlichen Grüßen
Manfred

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige