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

Fehler in Code

Fehler in Code
15.12.2005 09:20:06
Ellen
Hallo,
habe ein Code zusammengebastelt, der mir automatisch Werte von Tabelle 3 in Tabelle 2 übertragen soll. Es soll nach der Ordernummer gesucht werden und dann das Sub-Item übertragen werden. Nur so lange bis in Spalte A auch ordernummern eingetragen sind.
Hier das File: https://www.herber.de/bbs/user/29300.xls
Code:

Sub test()
Dim y As String
Dim x As Integer, i As Integer
x = 10
For i = 2 To Sheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row
If Sheets("Tabelle3").Cells(i, 1) = Sheets("Tabelle2").Cells(x, 1) Then
Sheets("Tabelle2").Cells(x, 6) = Sheets("Tabelle3").Cells(i, 2)
x = x + 1
End If
Next i
End Sub

-> das Sub-Item füllt sich nur 3x aus, also nicht bis zum ende der ordernummern und ich weiß nicht wo der Fehler ist. Was muß ich ändern? Ich möchte das ganze nicht über einen Sverweis machen.
Vielen Dank im Voraus.
Gruß,
Ellen

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler in Code
15.12.2005 09:40:18
Andi
Hi,
Du zählst ja die Zeile, in der in Tabelle2 nach der Ordner No geschaut werden soll, immer nur um eins hoch, wenn überhaupt (wenn bei einem Schleifendurchlauf keine Übereinstimmung festgestellt wurde, dann nichtmal das); bis ans Ende Deiner Ordner-No-Liste kann Dein Makro also gar nicht kommen.
Wenn ich Dein Anliegen richtig verstanden habe, und Du allen Ordner-Nummern in Tabelle2 die entsprechende Sub-Item-Nummer aus Tabelle3 zuordnen willst, dann müsste das so gehen:

Sub test2()
Dim zeile As Integer
Dim c As Range
For zeile = 10 To Worksheets("Tabelle2").Range("A65536").End(xlUp).Row
Set c = Worksheets("Tabelle3").Range("a:a").Find(Worksheets("Tabelle2").Cells(zeile, 1).Value)
Worksheets("Tabelle2").Cells(zeile, 6).Value = Worksheets("Tabelle3").Cells(c.Row, 2).Value
Next zeile
End Sub

Schönen Gruß,
Andi
Anzeige
danke
15.12.2005 09:43:06
Ellen
Hallo Andi,
prima, es funktioniert.
Vielen Dank.
Gruß,
Ellen
kleine Ergänzung
15.12.2005 09:58:18
Andi
Hi Ellen,
freut mich, dass es geht;
eine Kleingkeit noch:
falls es sein kann, dass eine Ordner-Nummer nur in Tabelle2 vorkommt, aber nicht in Tabelle3 aufgeführt ist, dann musst Du das Makro folgendermaßen ergänzen, sonst bleibt es an der Stelle hängen:

Sub test2()
Dim zeile As Integer
Dim c As Range
For zeile = 10 To Worksheets("Tabelle2").Range("A65536").End(xlUp).Row
Set c = Worksheets("Tabelle3").Range("a:a").Find(Worksheets("Tabelle2").Cells(zeile, 1).Value)
If Not c Is Nothing Then
Worksheets("Tabelle2").Cells(zeile, 6).Value = Worksheets("Tabelle3").Cells(c.Row, 2).Value
End If
Next zeile
End Sub

Schönen Gruß,
Andi
Anzeige
AW: kleine Ergänzung
15.12.2005 10:00:40
Ellen
Hallo Andi,
vielen Dank für die Mühe, werd das gleich einbauen, obwohl das sehr wahrscheinlich nicht passieren kann, da ich aus den Ordernummern aus Tab3 eine Liste erstellen lasse und man dann nur die Ordernummern auswählen kann.
Gruß,
Ellen
Gern geschehen... (ot)
15.12.2005 10:04:44
Andi
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige