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

Daten vergleichen / Fortsetzung

Daten vergleichen / Fortsetzung
14.03.2004 17:13:00
Erich M.
Hallo EXCEL-Freunde,
bin bei der Recherche auf diesen Thread gestossen:
https://www.herber.de/forum/archiv/392to396/t395343.htm
Nun bräuchte ich eine Anpassung des Codes von Beni:

Sub Daten_vergleichen_und_ergänzen()
Sheets(2).Activate
r = Cells(65536, 1).End(xlUp).Row
For i = 1 To r
Wert = Cells(i, 1)
With Sheets(1).Columns(1)
Set c = .Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Cells(i, 2) = c(1, 2)
End With
Next i
End Sub

Es sollen nicht nur die Daten aus der Spalte 2 übertragen werden,
sondern
a) die Daten der Spalten 2 - 10 und
b) die Daten der Spalten 12,15,18 - 20
Leider waren meine Ideen nicht erfolgreich.
Besten Dank für eine Hilfe!
mfg
Erich

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

Betreff
Datum
Anwender
Anzeige
Doch noch gelöst
14.03.2004 18:01:48
Erich M.

Sub Daten_vergleichen_und_ergänzen()
Dim r As String, i As Integer, wert As String, c As Range, s As Integer
Sheets(2).Activate
r = Cells(65536, 1).End(xlUp).Row
For i = 1 To r
wert = Cells(i, 1)
For s = 2 To 10
With Sheets(1).Columns(1)
Set c = .Find(wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Cells(i, s) = c(1, s)
End With
Next s
Next i
End Sub

Damit werden die Spalten 2 bis 10 übertragen;
nicht zusammenhängende Spalten müssen einzeln eingetragen werden.
mfg
Erich
AW: Doch noch gelöst
14.03.2004 18:11:49
andre
hallo erich,
dein lösungsansatz verbessert / meine antwort ausprogrammiert (der untere teil):


Sub Daten_vergleichen_und_ergänzen()
Sheets(2).Activate
r = Cells(65536, 1).End(xlUp).Row
    For i = 1 To r
      Wert = Cells(i, 1)
      With Sheets(1).Columns(1)
        Set c = .Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
        If Not Is Nothing Then
          For j = 2 To 20
            If j <> 11 And j <> 13 And j <> 14 And j <> 16 And j <> 17 Then
              Cells(i, j) = c(1, j)
            End If
          Next j
      End With
    Next i
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

gruss andre
Anzeige
Danke - komfortabel!!
14.03.2004 18:18:08
Erich M.
Hallo andre,
damit komme ich natürlich wesentlich besser klar.
Besten Dank!
mfg
Erich
AW: Daten vergleichen / Fortsetzung
14.03.2004 18:04:02
andre
hallo erich,
im prinzip so:


Sub Daten_vergleichen_und_ergänzen()
Sheets(2).Activate
r = Cells(65536, 1).End(xlUp).Row
For j = 2 To 20
  If j <> 11 And j <> 13 And j <> 14 And j <> 16 And j <> 17 Then
    For i = 1 To r
      Wert = Cells(i, 1)
      With Sheets(1).Columns(1)
        Set c = .Find(Wert, LookIn:=xlValues, LookAt:=xlWhole)
        If Not Is Nothing Then Cells(i, j) = c(1, j)
      End With
    Next i
  End If
Next j
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

mir ist zwar nicht klar was das bringen soll, denn im code wird bei auffinden von einem wert aus spalte 1 in spalte 2 was oben in die erste zeile geschrieben, dort steht dann das was er zuletzt gefunden hat. mit meiner ergänzung passiert dann dasselbe in den anderen spalten, wobei immer wieder in der spalte 1 gesucht wird. kann man sich eigentlich sparen:


If Not Is Nothing Then
Cells(i, 2) = c(1, 2)
Cells(i, 3) = c(1, 3) ' oder auch c(1, 2) ??
'.... hier der rest oder eine schleife
' was bedeutet eigentlich c(1,2) usw. hast du heir ein array?
End If

     Code eingefügt mit Syntaxhighlighter 2.5

gruss andre
Anzeige
AW: Daten vergleichen / Fortsetzung
14.03.2004 18:06:33
andre
... die anmerkung mit dem array ist quatsch, muss mal meine brille putzen ;-)
gruss andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige