Anzeige
Archiv - Navigation
1004to1008
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

Daten übertragen & VBA Schleife

Daten übertragen & VBA Schleife
03.09.2008 15:29:00
Karen
Hallo Forum,
ich möchte folgenden Sachverhalt in VBA darstellen (Beipsiel siehe Anhang https://www.herber.de/bbs/user/55165.xls):
Das Tabellenblatt "Rohdaten" soll mit dem Tabellenblatt "Termine" abgeglichen werden.
Das heißt, ich möchte zunächst schauen, ob die Meldungsnummer in Spalte C / TB Rohdaten schon in TB Termine Spalte A vorhanden ist. Wenn ja, sollen die entsprechenden Zellen der Meldungsnummer Spalte G, H und L in die entsprechende Zeile des TB Termine übertragen werden.
Wenn die Nummer noch nicht vorhanden ist, soll sie als neue Zeile unter dem letzten Datensatz auf TB Termine geschrieben werden und auch die entsprechenden Zellen der Spalten G, H und L TB Rohdaten überrtagen werden.
Ich habe gedacht, ich könnte folgende Schleife (noch nicht angepaßt) verwenden:
For i = 2 To 200
If Cells(8, i).Value = x Then
Cells(8, i).Select
Selection.Copy
Cells(8, i + 1).Select
ActiveSheet.Paste
End If
Next i
Da ich aber zwei Variablen in meinem Sachverhalt habe, weiß ich leider die Syntax nicht.
Wäre super, wenn mir jemand den entscheidenen Tip gegen könnte.
Vielen Dank im voraus.
Grüße
Karen

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

Betreff
Datum
Anwender
Anzeige
AW: Daten übertragen & VBA Schleife
03.09.2008 15:51:11
Chris
Servus Karen,
vom Prinzip her so:

Sub Abgleich()
Dim rSuche As Range, rFinde As Range, i As Long
If IIf(IsEmpty(Cells(Rows.Count, 3)), Cells(Rows.Count, 3).End(xlUp).Row, Rows.Count) > 5 Then
Set rFinde = Sheets("Termine").Range("A:A")
For i = 6 To IIf(IsEmpty(Cells(Rows.Count, 3)), Cells(Rows.Count, 3).End(xlUp).Row, Rows. _
Count)
Set rSuche = rFinde.Find(what:=Cells(i, 3), lookAt:=xlWhole, LookIn:=xlValues)
If Not rSuche Is Nothing Then
With Sheets("Termine")
.Cells(rSuche.Row, 2) = Cells(i, 7)
.Cells(rSuche.Row, 3) = Cells(i, 8)
.Cells(rSuche.Row, 4) = Cells(i, 10)
End With
Else
With Sheets("Termine")
.Cells(65536, 1).End(xlUp).Offset(1, 0) = Cells(i, 7)
.Cells(65536, 2).End(xlUp).Offset(1, 0) = Cells(i, 7)
.Cells(65536, 3).End(xlUp).Offset(1, 0) = Cells(i, 8)
.Cells(65536, 4).End(xlUp).Offset(1, 0) = Cells(i, 10)
End With
End If
Next i
End If
End Sub


wobei ich mich an die Überschriften gehalten habe und statt Spalte L Spalte J rüberschreibe. Falls doch L, dann statt Cells(i,10) eben Cells(i,12) schreiben.
Das Makro kommt in die Tabelle Rohdaten.
Gruß
Chris

Anzeige
AW: Daten übertragen & VBA Schleife
04.09.2008 08:22:00
Karen
Hallo Chris,
vielen herzlichen Dank! Ich habe wieder etwas dazugelernt!!!
Grüße
Karen
AW: da ist noch ein kleiner Fehler
04.09.2008 08:29:00
Chris
Servus Karen,
.Cells(65536, 1).End(xlUp).Offset(1, 0) = Cells(i, 7)
muss heißen
.Cells(65536, 1).End(xlUp).Offset(1, 0) = Cells(i, 3)
Gruß
Chris

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige