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

nächste freie Zeile finden und Inhalte einfügen

nächste freie Zeile finden und Inhalte einfügen
Andreas
Guten Morgen zusammen,
ich habe ein VBA Problem mit dem ich leider selbst nicht weiter komme und würde mich über Unterstützung sehr freuen.
Ich möchte zwei Tabellen T1 und T2 miteinander auf auf Artikelnummerbasis in Spalte A als Schlüssel vergleichen.
Excel sollte nun prüfen, ob die Artikelnummer in T2 bereits in T1 enthalten ist. Wenn ja, müssten die Inhalte von T2, Spalte "B" bis "E" hinter der 6. Spalte von T1 in der Zeile mit der entsprechenden Vorgangsnummer eingefügt werden. Wenn nein, sollte diese Vorgangsnummer in einer neuen Zeile bei T1 Spalte "A" erscheinen, die Spalten 2 bis 6 bleiben dann leer, und ab Spalte 7 kommt wieder der Inhalt von T2.
Dieser Vorgang funktioniert sehr gut. Das eigentliche Problem liegt nun darin, dass ich häufiger verschiedene Tabellen T2 vergleichen möchte. Die Daten sollen dann in den Spalten fortlaufend, entspr. der Artikelnummer hinter die Werte des letzten Vergleichs geschrieben werden.
Hier der Code:

Sub vergleichen()
Dim i As Integer
Dim t2_zeilen As Integer
t2_zeilen = 500
For i = 1 To t2_zeilen
With Sheets(1).Range("A1:A800")
Set suche = .Find(Sheets(2).Range("A" & i).Value, LookIn:=xlValues)
Set t1_leer = Range("A1:A65536").Find("", LookIn:=xlValues)
If Not suche Is Nothing Then
suche.Select
Sheets(1).Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(0, 9)).Value = _
Sheets(2).Range("B" & i, "E" & i).Value
Else
t1_leer.Select
ActiveCell.Value = Sheets(2).Range("A" & i).Value
Sheets(1).Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(0, 9)).Value = _
Sheets(2).Range("B" & i, "E" & i).Value
End If
End With
Next i
End Sub

Rein theoretisch müsste es mit dem Befehl: .End(xlToRight).Offset(0, 1) klappen ich bekomme leider den Code nicht sauber umgeschrieben.
Ich freue mich auf eure Antworten
MFG
Andreas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: nächste freie Zeile finden und Inhalte einfügen
23.08.2012 09:00:33
fcs
Hallo Andreas,
mit folgender Anpassung sollte es funktionieren.
Aber wenn du schon Variablen deklarierst, dann doch bitte auch alle.
Voraussetzung für Funktion ist, das in Tabelle1 immer die Spalten A bis F in jeder Datenzeile ausgefüllt sind und in Tabelle 2 die Spalten A bis E.
Mit xlToRight arbeiten könnte zu einem Fehler führen, wenn ein Artikel im 1. Vergleich neu ist also in Spalten A und G bis J eingetragen wird und dann bei einer weiteren Tabelle2 erneut auftaucht.
Gruß
Franz
Sub vergleichen()
Dim i As Integer
Dim t2_zeilen As Integer, suche As Range, t1_leer
t2_zeilen = 500
For i = 1 To t2_zeilen
With Sheets(1).Range("A1:A800")
Set suche = .Find(Sheets(2).Range("A" & i).Value, LookIn:=xlValues)
Set t1_leer = Range("A1:A65536").Find("", LookIn:=xlValues)
If Not suche Is Nothing Then
suche.Select
Cells(suche.Row, Columns.Count).End(xlToLeft).Range("B1:E1").Value = _
Sheets(2).Range("B" & i, "E" & i).Value
'        Sheets(1).Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(0, 9)).Value = _
Sheets(2).Range("B" & i, "E" & i).Value
Else
t1_leer.Select
ActiveCell.Value = Sheets(2).Range("A" & i).Value
Sheets(1).Range(ActiveCell.Offset(0, 6), ActiveCell.Offset(0, 9)).Value = _
Sheets(2).Range("B" & i, "E" & i).Value
End If
End With
Next i
End Sub
Gruß
Franz

Anzeige
AW: nächste freie Zeile finden und Inhalte einfügen
23.08.2012 10:46:15
Andreas
Hallo Franz,
vielen Dank für die super schnelle Antwort. Nun habe ich auch verstanden, wie ich eine solche Anpassung vornehmen kann. Die Umformung mit xlToRight hat in der Tat zu dem von dir beschriebenen Fehler geführt.
Vielen Dank auch für den Hinweis mit den nicht deklarierten Variablen.
Nun funktioniert der Code einwandfrei! Vielen Dank für deine Unterstützung.
MFG
Andreas

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige