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

vba, Liste erst ab Eintrag 65 abarbeiten

vba, Liste erst ab Eintrag 65 abarbeiten
26.09.2018 10:18:16
m_su
Hallo zusammen
Derzeit macht mein Code folgendes. Er durchsucht eine SpalteA in TabelleA nach einem bestimmten WertA und kopiert dann für jeden gefundenen WertA einen WertB aus einer SpalteB der selben Zeile in eine andere TabelleC. Und zwar von rechts unten nach links oben bis alle Plätze voll sind. (Es sind 64 Stück)
Nun möchte ich den Prozess erst ab dem 65. Eintrag aus SpalteA beginnen. Bei meinen bisherigen Versuchen wollte Excel leider nicht so wie ich das wollte. ^^
funktionierender Code sieht wie folgt aus:
Dim lRow As Long, lRowL As Long, lRowT As Long, bln As Boolean
Sheets("test").Activate
lRowL = Cells(Rows.count, 9).End(xlUp).Row
lRowT = 1
Worksheets("Tabelle32").Range("A1:H16").ClearContents
For lRow = 2 To lRowL
If Cells(lRow, 27).Value = "LCK45" Then
lRowT = lRowT + 1
If Sheets("Tabelle32").Cells(16, 1).Value = 0 Then
Sheets("Tabelle32").Cells(16, 10 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(14, 1).Value = 0 Then
Sheets("Tabelle32").Cells(14, 18 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(12, 1).Value = 0 Then
Sheets("Tabelle32").Cells(12, 26 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(10, 1).Value = 0 Then
Sheets("Tabelle32").Cells(10, 34 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(8, 1).Value = 0 Then
Sheets("Tabelle32").Cells(8, 42 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(6, 1).Value = 0 Then
Sheets("Tabelle32").Cells(6, 50 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(4, 1).Value = 0 Then
Sheets("Tabelle32").Cells(4, 58 - lRowT).Value = Cells(lRow, 20).Value
Else
If Sheets("Tabelle32").Cells(2, 1).Value = 0 Then
Sheets("Tabelle32").Cells(2, 66 - lRowT).Value = Cells(lRow, 20).Value
Else
MsgBox ("Blatt ist voll")
Exit Sub
End If
End If
End If
End If
End If
End If
End If
End If
End If
Next lRow
End Sub
Ich wollte jetzt bei der MsgBox vor Exit Sub eine Abfrage einbauen um den Prozess ab .ClearContents zu wiederholen und hätte hier:
If Sheets("Tabelle32").Cells(2, 1).Value = 0 Then
Sheets("Tabelle32").Cells(2, 66 - lRowT).Value = Cells(var65 + lRow, 20).Value
eine zusätzliche Variable eingebaut die ab Eintrag 65 zählt.
Aber so richtig funktionieren tut das nicht. Excel scheint dann irgendwie mit der Gesamtzahl an Treffern durcheinander zu kommen.
Mag mir vielleicht Jemand helfen :]

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba, Liste erst ab Eintrag 65 abarbeiten
26.09.2018 10:29:31
Armin
Hallo,
um das ganze auch zu testen, müsste man Dein Sheet nachbauen nur weil Du kein Sheet hochladen willst, sorry aber das werde ich nicht tun.
Gruß Armin
AW: vba, Liste erst ab Eintrag 65 abarbeiten
26.09.2018 11:36:59
Armin
Hallo,
sorry aber das versteht wer will ich nicht.
Gruß Armin
AW: vba, Liste erst ab Eintrag 65 abarbeiten
26.09.2018 11:57:34
m_su
Die Tabelle "test" enthält 3 beschriebene Spalten und bei Aufruf des Makros (Makro1) werden in "Tabelle32" die Felder A2:H2 / A4:H4 / A6:H6 / A8:H8 / A10:H10 / A12:H12 / A14:H14 / A16:H16 beschrieben.
Nach dem Begriff LCK45 wird in Spalte AA gesucht. Kopiert wird aus Spalte T. Die Anzahl der beschriebenen Zeilen wird in Spalte I ermittelt
Das ist alles
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige