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

Zellinhalt vergleichen

Zellinhalt vergleichen
Jule
Hallo
und zwar hab ich ein Problem. Ich möchte mit folgendem Makro den Inhalt zweier Zellen vergleichen und dann 2 Spalten aus Tabele Anlagedatum in das Sheet Tabelle 1 des anderen Workbooks kopieren.
Leider funktioniert das nicht, jedoch bringt das Makro auch keine Fehlermeldung.
Sub SVerweis_Versuch1()
Dim wbQuelle As Workbook, wbZiel As Workbook
Dim wbQuelleSheet As Worksheet, wbZielSheet As Worksheet
Dim rngC As Range
Set wbQuelle = Workbooks("SVERWEISNEU.xls")
Set wbQuelleSheet = wbQuelle.Worksheets("Tabelle1")
Set wbZiel = Workbooks("03_Anlagedatum+ Prognosedatum.xls")
Set wbZielSheet = wbZiel.Worksheets("03_Anlagedatum+ Prognosedatum")
Set rngC = wbZiel.Worksheets(1).Range("B:B").Find(wbQuelle.Worksheets(1).Range("A2").Value)
If Not (rngC Is Nothing) Then
wbZiel.Worksheets(1).Range("I" & rngC.Row) = wbQuelle.Worksheets(1).Range("C2").Value
wbZiel.Worksheets(1).Range("J" & rngC.Row) = wbQuelle.Worksheets(1).Range("D2").Value
End If
End Sub

Über Hilfe würde ich mich mega freuen.
Danke :)

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellinhalt vergleichen
12.07.2010 12:57:51
Kawensmann
Hallo,
erst mal eine Frage:
Du definierst wbQuelleSheet und wbZielSheet, benutzt sie aber später gar nicht und
referierst stattdessen mit Index 1: wbZiel.Worksheets(1)... Ist das so gewollt?
AW: Zellinhalt vergleichen
12.07.2010 13:11:41
Jule
Hey,
ne war eher ein übermüdeter leichtsinnsfehler..... hab jetzt die (1) mit den Variablennamen ausgetauscht....
Find hat etliche Parameter
13.07.2010 09:49:16
Erich
Hi,
ein wesentliches Problem könnte darin liegen, dass du beim Find nicht alle nötigen Parameter angegeben hast.
Damit wird dein Find-Ergebnis davon abhängig. wie zufällig vorher in Excel oder VBA gesucht worden ist.
Schau mal in die VBA-Hilfe zu Find.
Hier mein ungetesteter Vorschlag:

Sub SVerweis_Versuch2()
Dim wksQ As Worksheet, rngC As Range
Set wksQ = Workbooks("SVERWEISNEU.xls").Worksheets("Tabelle1")
With Workbooks("03_Anlagedatum+ Prognosedatum.xls"). _
Worksheets("03_Anlagedatum+ Prognosedatum")
Set rngC = .Columns(2).Find(wksQ.Cells(2, 1).Value, _
LookAt:=xlWhole, MatchCase:=True, SearchFormat:=False)
If Not rngC Is Nothing Then .Cells(rngC.Row, 9).Resize(, 2) = _
wksQ.Cells(2, 3).Resize(, 2).Value
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Find hat etliche Parameter
13.07.2010 10:10:41
Jule
Hey,
habs gerade getestet... es tut sich nichts... aber auch keine Fehlermeldung. Geh jetzt mal deinen Tipp mit dem Find nach, und les mich mal durch die Hilfe... :)
Vielen Dank aber schonmal...
Hilfe :(
13.07.2010 14:48:59
Jule
Hallo
wie bekomme ich es denn nun hin, das er mir von A2 bis zum schluss alle miteinander vergleicht? so tut sich bei mir nichts... Ich bin langsam echt am verzweifeln....
Sub SVerweis_Versuch1()
Dim wbQuelle As Workbook, wbZiel As Workbook
Dim rngC As Range
lastRowA = Workbooks("03_Anlagedatum+ Prognosedatum.xls").Worksheets("03_Anlagedatum+ Prognosedatum").Range("A" & Rows.Count).End(xlUp).Row
Set wbQuelle = Workbooks("03_Anlagedatum+ Prognosedatum.xls")
Set wbZiel = Workbooks("SVERWEISNEU.xls")
Set rngC = wbZiel.Worksheets(1).Range("B:B").Find(wbQuelle.Worksheets(1).Range("A2:A" & lastRowA).Value)
If Not (rngC Is Nothing) Then
wbZiel.Worksheets(1).Range("I" & rngC.Row) = wbQuelle.Worksheets(1).Range("C2:C" & lastRowA).Value
wbZiel.Worksheets(1).Range("J" & rngC.Row) = wbQuelle.Worksheets(1).Range("D2:D" & lastRowA).Value
End If
Anzeige
auch ein Betreff...
13.07.2010 16:22:43
Erich
Hi,
vielleicht funzt das hier:

Sub SVerweis_Versuch3()
Dim wksQ As Worksheet, lngQ As Long, zz As Long, rngC As Range
Set wksQ = Workbooks("SVERWEISNEU.xls").Worksheets("Tabelle1")
lngQ = wksQ.Cells(wksQ.Rows.Count, 1).End(xlUp).Row
With Workbooks("03_Anlagedatum+ Prognosedatum.xls"). _
Worksheets("03_Anlagedatum+ Prognosedatum")
For zz = 2 To lngQ
Set rngC = .Columns(2).Find(wksQ.Cells(zz, 1).Value, _
LookAt:=xlWhole, MatchCase:=True, SearchFormat:=False)
If Not rngC Is Nothing Then .Cells(rngC.Row, 9).Resize(, 2) = _
wksQ.Cells(2, 3).Resize(, 2).Value
Next zz
End With
End Sub
Bisher war hier nicht die Rede davon, dass in einer Schleife nach allen Einträgen unter A2 gesucht werden soll.
Was ist bei dir aus den anderen Find-Parametern geworden?
Und warum schreibst du jetzt wieder Worksheets(1)? (Nebenbei: Es gibt "With" und End With".)
Nach "wbQuelle.Worksheets(1).Range("A2:A" & lastRowA).Value" kann nicht gesucht werden,
das ist nicht ein Wert, das können viele sein. Soll Find dann als Ergebnis z. B. 27 Zellen zurückgeben?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige