Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
296to300
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
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

"gefundene" Zeile kopieren

"gefundene" Zeile kopieren
20.08.2003 07:48:10
Dirk Scheffler
Hallo,
ich habe vor einiger Zeit hier hifle zu einem Problem bezüglich Datenvergleich bekommen. Ich poste mal das Ergebnis:

Sub Such_und_Find()
On Error Resume Next
Dim WS1     As Worksheet
Dim WS2     As Worksheet
Dim WS3     As Worksheet
Dim Suche   As String
Dim find    As Variant
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Set WS3 = Worksheets("Tabelle3")
For i = 1 To 500   'Anzahl der Zeilen
Suche = WS2.Cells(i, 1) 'Suchbegriff aus Tabelle 2 / Spalte A
Set find = WS1.Range("A:A").find(Suche, LookIn:=xlValues) ' In Tabelle 1 / Spalte a suchen
If find Is Nothing Then
WS2.Cells(i, 2) = "nicht gefunden" ' wenn nichts gefunden
Else
WS2.Rows(i).Value = WS1.Rows(i).Value ' wenn gefunden komplette Zeile von Tabelle 1 nach Tabelle 2 kopieren
End If
Next i
End Sub
Mein Problem ist diese Zeile,
WS2.Rows(i).Value = WS1.Rows(i).Value
für das Übernehmen der Daten (was so natürlich falsch ist).
Wie realisiere ich, dass die gefundene Zeile (?) in WS1 nach WS2 in Zeile (i) übernommen wird?
Hoffe ich konnte mein Problem verständlich schildern.
Gruß und Danke
Dirk

                    

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "gefundene" Zeile kopieren
20.08.2003 08:59:21
Stephan
Hi Dirk!
Was soll an
WS2.Rows(i).Value = WS1.Rows(i).Value
falsch sein ?
Was funktioniert bei Dir nicht ? Welche Fehlermeldung bekommst Du ?

AW: "gefundene" Zeile kopieren
20.08.2003 09:06:13
Dirk
Hi Stephan,
mein Problem dabei ist, das die Daten in die Zeile in WS2 übernommen werden, in der sie in WS1 stehen und nicht nach Zeile (i). WS2(i) ist ja der Suchbegriff und bei Übereinstimmung soll die Zeile ja auch nach WS2(i) übernommen werden. Das funktioniert so aber nicht.
Oder gehe ich total falsch an das Problem ran?
Gruß Dirk

AW: "gefundene" Zeile kopieren
20.08.2003 10:59:02
Stephan
Hi Dirk!
So ganz versteh ich noch nicht, was Du meinst, aber ich habe eine Vermutung.
Vielleicht hilft es Dir einen Zähler einzubauen, die die Zeilen in ws2 runterzählt.
also:
j = j + 1
ws2.rows(j).value = ws1.rows(i).value
Falls nicht, erklär einfach mal, was das Makro denn genau machen soll.
Gruß
Stephan

Anzeige
AW: "gefundene" Zeile kopieren
20.08.2003 11:27:17
Dirk
Hallo Stephan,
also, in WS2 stehen in Spalte A die Suchbegriffe, die in WS1 Spalte A gesucht werden sollen. Bei Übereinstimmung soll die ganze ganze Zeile aus WS1 nach WS2 kopiert werden und zwar in die Zeile in der der aktuelle Suchbegriff steht (Der kann ja "überkopiert" werden, ist ja in WS1 identisch vorhanden).
Das Makro funktioniert grundsätzlich ja schon , nur wird bei Übereinstimmung z.B. Zeile 16 WS1 nach Zeile 16 WS2 kopiert, obwohl der Suchbegriff in Zeile 5 stand.
Verstehst Du mein Problem?
Wäre schön wenn Du da noch ne Idee hast.
Gruß Dirk

AW: "gefundene" Zeile kopieren
20.08.2003 12:43:13
Stephan
Hi Dirk!
Probier mal folgendes:

Sub Such_und_Find()
On Error Resume Next
Dim WS1     As Worksheet
Dim WS2     As Worksheet
Dim WS3     As Worksheet
Dim Suche   As String
Dim find    As Range
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Set WS3 = Worksheets("Tabelle3")
For i = 1 To 500   'Anzahl der Zeilen
Suche = WS2.Cells(i, 1).Value 'Suchbegriff aus Tabelle 2 / Spalte A
With WS1.Range("A:A")
Set find = .find(Suche) ' In Tabelle 1 / Spalte a suchen
End With
If find Is Nothing Then
WS2.Cells(i, 2) = "nicht gefunden" ' wenn nichts gefunden
Else
'******* nächste Zeile geändert ******
WS2.Rows(i).Value = WS1.Rows(find.Row).Value ' wenn gefunden komplette Zeile von Tabelle 1 nach Tabelle 2 kopieren
End If
Next i
End Sub

Sollte funzen !?!
Gruß
Stephan

Anzeige
Danke funktioniert ;-) o.T.
20.08.2003 12:51:15
Dirk
AW: "gefundene" Zeile kopieren
20.08.2003 12:44:16
WernerB.
Hallo Dirk,
versuche es mal so (ungetestet):

Sub Such_und_Find()
Dim WS1     As Worksheet
Dim WS2     As Worksheet
Dim WS3     As Worksheet
Dim Suche   As String
Dim SuBe    As Range
Dim laR     As Long
Dim i       As Long
On Error Resume Next
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Set WS3 = Worksheets("Tabelle3")
laR = WS1.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To laR   'Anzahl der Zeilen
Suche = WS2.Cells(i, 1) 'Suchbegriff aus Tabelle 2 / Spalte A
Set SuBe = WS1.Range("A:A").find(Suche, LookIn:=xlValues) ' In Tabelle 1 / Spalte a suchen
If SuBe Is Nothing Then
WS2.Cells(i, 2) = "nicht gefunden"    ' wenn nichts gefunden
Else
WS2.Rows(i).Value = WS1.Rows(SuBe.Row).Value ' wenn gefunden komplette Zeile von Tabelle 1 nach Tabelle 2 kopieren
End If
Next i
Set SuBe = Nothing
End Sub

Viel Erfolg wünscht
WernerB.

Anzeige
Hallo Werner, funktioniert. Danke ;-) o.T.
20.08.2003 12:52:23
Dirk
AW: "gefundene" Zeile kopieren
20.08.2003 12:48:15
Klaus-Dieter
Hallo Dirk,
versuch es mal so:

Sub Suchen_und_Finden()
On Error Resume Next
Dim WS1     As Worksheet
Dim WS2     As Worksheet
Dim WS3     As Worksheet
Dim Suche   As String
Dim find    As Variant
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Set WS3 = Worksheets("Tabelle3")
For i = 1 To 500   'Anzahl der Zeilen
Suche = WS2.Cells(i, 1) 'Suchbegriff aus Tabelle 2 / Spalte A
Set find = WS1.Range("A:A").find(Suche, LookIn:=xlValues) ' In Tabelle 1 / Spalte a suchen
If find Is Nothing Then
WS2.Cells(i, 2) = "nicht gefunden" ' wenn nichts gefunden
Else
WS2.Rows(find.Row).Value = WS1.Rows(i).Value ' wenn gefunden komplette Zeile von Tabelle 1 nach Tabelle 2 kopieren
End If
Next i
End Sub

Gruß Klaus-Dieter

Anzeige
AW: "gefundene" Zeile kopieren
20.08.2003 12:54:44
Dirk
Hallo,
danke Dir. Hatte die selbe Lösung schon gepostet bekommen ;-)
Gruß Dirk

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige