Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro wird nicht auf neue Zeilen angewendet

Makro wird nicht auf neue Zeilen angewendet
22.08.2018 10:16:43
Alexander
Hallo zusammen,
mein Ziel ist folgendes: ich habe eine Tabelle, in der ich in einer bestimmten Spalte nach dem Merkmal "x" suche. Alle Zeilen, die in dieser Spalte das Kriterium erfüllen, sollen aus der Tabelle ausgeschnitten und in ein neues Tabellenblatt eingefügt werden. Das ganze habe ich dann mit einer Schaltfläche verbunden und kann es per Mausklick ablaufen lassen. Das hat soweit für den bestehenden Datensatz auch funktioniert, allerdings kommen neue Zeilen mit neuen Daten dazu. Und für diese Zeilen läuft das Makro nicht mehr. Es werden weiterhin Zeilen mit Merkmal "x" aus dem "alten" Datensatz richtig ausgeschnitten und eingefügt aber eben die neuen nicht. Die bleiben einfach stehen.
Zum Hintergrund: ich habe einen Code im Internet gefunden und diesen auf meine Problemstellung angepasst. Ich habe eigentlich keine VBA-Kenntnisse, meine wenigen Kenntnisse in 1-2 anderen Programmiersprachen haben ausgereicht, die wenigen Stellen im Code anzupassen (Namen der Tabellenblätter, Spaltennummer und entfernen einer Abfrage für ein zweites Merkmal).
Folgender Code steht im Tabellenblatt mit den Daten, die durchsucht werden sollen:
Option Explicit
Public Sub ZeilenFilternUndVerschieben()
Dim loLetzte As Long
Dim loLetzteTab3 As Long
Dim loAnzahl As Long
Dim loCounter As Long
Dim strKriterium1 As String
loAnzahl = 0
strKriterium1 = "x"     ' bezieht sich auf Spalte Q (Spaltennummer 17)
With ThisWorkbook.Worksheets("abgeschlossene Aufträge")
loLetzteTab3 = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp). _
Row, .Rows.Count)
End With
With Me
loLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .  _
Rows.Count)
For loCounter = 1 To loLetzte
If .Cells(loCounter, 17).Value = strKriterium1 Then
loAnzahl = loAnzahl + 1
End If
Next loCounter
For loCounter = loLetzte To 1 Step -1
If .Cells(loCounter, 17).Value = strKriterium1 Then
.Rows(loCounter).EntireRow.Cut Destination:=ThisWorkbook.Worksheets(" _
abgeschlossene Aufträge").Rows(loLetzteTab3 + loAnzahl)
.Rows(loCounter).EntireRow.Delete shift:=xlUp
loAnzahl = loAnzahl - 1
End If
Next loCounter
End With
End Sub
Ich hab natürlich versucht selber zu recherchieren, aber ich stoße mit meinen Kenntnissen an meine Grenzen und kann allgemeine Verbesserungsvorschläge nicht auf mein Problem und den Code übertragen. Deswegen hoffe ich, dass mir hier jemand bei der Anpassung des Codes helfen kann, sodass auch neu hinzugefügte Zeilen durchsucht werden.
Gruß
Alex

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro wird nicht auf neue Zeilen angewendet
22.08.2018 11:35:14
Alexander
Nach einigem rum probieren habe ich den Fehler gefunden: die erste Zelle der neuen Zeilen war jeweils nicht beschrieben und das scheint Ursache dafür gewesen zu sein, dass das Makro nicht korrekt durchläuft.
Thema ist damit erledigt.
Anzeige

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige