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

vba, Daten ersetzen

vba, Daten ersetzen
20.11.2020 10:27:19
Fred
Hallo Excelprofis,
mir fehlt eigentlich "nur noch" eine Zeile in meinem Konstrukt.
Ich habe 2 Arbeitsblätter, "Ergebnisse" & "Korrektur"
Das Blatt "Ergebnisse" beinhaltet unvollständige Daten und Blatt "Korrektur" entsprechende Korrekturen.
Mein Ansatz;
In einer Schleife werden die Korrekturen aufgerufen und jeweils wird entsprechender Datensatz in "Ergebnisse" gesucht und gefiltert, dann die Korrektur kopiert ("J2:O2") und in "Ergebnisse" eingefügt.
Bis auf das einfügen, habe ich alles.
Code;

Sub ergebnisse_aktualisieren()
Dim wksBlatt As Worksheet
Dim lngLastRow As Long
Dim lngC As Long
Set wksBlatt = ActiveSheet
With wksBlatt
lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For lngC = 2 To lngLastRow
.Cells(lngC, 1).Copy .Cells(2, 10)
.Cells(lngC, 2).Copy .Cells(2, 11)
.Cells(lngC, 3).Copy .Cells(2, 12)
.Cells(lngC, 4).Copy .Cells(2, 13)
.Cells(lngC, 5).Copy .Cells(2, 14)
.Cells(lngC, 6).Copy .Cells(2, 15)
On Error Resume Next
Worksheets("Ergebnisse").ShowAllData
On Error GoTo 0
With Worksheets("Ergebnisse")
loZeile = .Cells(.Rows.Count, "A").End(xlUp).Row
Set raBereich = .Range(.Cells(2, "A"), .Cells(loZeile))
raBereich.AutoFilter Field:=3, Criteria1:=Sheets("Korrektur").Range("J2")
raBereich.AutoFilter Field:=4, Criteria1:=Sheets("Korrektur").Range("K2")
Sheets("Korrektur").Range("J2:O2").Copy
' und jetzt soll eingefügt werden !!!!!!!
End With
Next lngC
End With
End Sub

Meine Frage;
kann mir bitte jemand das fehlende (letzte Zeile in ""with") schreiben?!
Zum besseren Verständnis;
https://www.herber.de/bbs/user/141726.xlsb
Gruss
Fred

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

Betreff
Datum
Anwender
Anzeige
AW: vba, Daten ersetzen
20.11.2020 11:39:16
Tino
Hallo,
meinst du so?
Option Explicit

Sub Korrektur()
Dim ArZiel, ArQuelle, rngZiel As Range, n&, c&

With Tabelle15
Set rngZiel = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 8)
End With
ArZiel = rngZiel.Value2

With Tabelle3
ArQuelle = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 6).Value2
End With

For n = Lbound(ArQuelle) To Ubound(ArQuelle)
For c = Lbound(ArZiel) To Ubound(ArZiel)
If ArZiel(c, 3) = ArQuelle(n, 1) Then
If ArZiel(c, 4) = ArQuelle(n, 2) Then
ArZiel(c, 5) = ArQuelle(n, 3)
ArZiel(c, 6) = ArQuelle(n, 4)
ArZiel(c, 7) = ArQuelle(n, 5)
ArZiel(c, 8) = ArQuelle(n, 6)
Exit For
End If
End If
Next
Next

rngZiel.Value = ArZiel
End Sub
Gruß Tino
Anzeige
AW: vba, Daten ersetzen
20.11.2020 11:57:49
Fred
Hallo Tino,
eine wohl professionellerer VBA-Code!
Er funzt bis auf die italienischen Clubs in Zeilen 306,307,308 (Blatt "Ergebnisse")
Wenn ich allerdings in "Korrektur" die Clubs in Großbuchstaben schreibe, wird vollständig korrigiert.
Danke für deinen Code und die Mühe die du dir gemacht hast!
Gruss
Fred
AW: vba, Daten ersetzen
20.11.2020 12:08:20
Tino
Hallo,
schreibe ganz oben nach
Option Explizit
diese Zeile
Option Compare Text
Dann sollte die Groß/Klein Schreibweise egal sein.
Gruß Tino
AW: vba, Daten ersetzen
20.11.2020 12:19:11
Fred
Hallo Tino,
jetzt ist alles prima!
Mein ursprüngliches Konstrukt ist ja (von meiner Logik als "Unwissender") aufgebaut.
Ich werde mir deinen Code mal ganz genau anschauen und Zeile für Zeile versuchen zu verstehen.
Danke für deine Mühe!
Gruss
Fred
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige