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

Makro kopiert zu viel bzw falsche Zeilen

Makro kopiert zu viel bzw falsche Zeilen
13.09.2021 14:44:01
Markus
Servus zusammen,
in meiner Tabelle stehen in 20 Zellen pro Spalte verschiedenen Werte. Bei einigen Zellen in der Spalte "J" steht "n.a." drin. Ich brauch nun ein Makro, dass auf Spalte "J" schaut und vergleicht, ob in der betreffenden Zelle ein Wert oder "n.a." steht. Sollte ein Wert drin stehen, dann soll das Makro die ganze Zeile in ein zweites Tabelleblatt kopieren. Mein erster Versuch dazu schaut so aus.
ub Daten_kopieren2()
Dim i As Byte
Application.ScreenUpdating = False
Sheets("Input").Select
Rows("7:186").Select
Selection.ClearContents
Range("A4").Select
For i = 7 To 200
Sheets("Chromeloen Ausgabe").Select
If Cells(10, i).Value "n.a." Then
Rows(i).Select
Selection.Copy
Sheets("Input").Select
Rows(i).Select
ActiveSheet.Paste
End If
Next i
Application.ScreenUpdating = True
End Sub
Leider ist es nun so, dass das Makro einfach irgendwelche Zeilen kopiert, egal ob in Spalte "J" ein Wert drin steht oder "n.a.". Kann mir hier bitte jemand weiterhelfen.
Gruß
Markus

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

Betreff
Datum
Anwender
Anzeige
AW: Makro kopiert zu viel bzw falsche Zeilen
13.09.2021 15:41:11
Luschi
Hallo Markus,
laut Vba-Hilfe: Cells(ZeilenNr, SpaltenNr), also Cells(i, 10) es funktioniert aber auch: Cells (i, "J")
dann muß man nicht das Zählen mit den Fingern üben.
Gruß von Luschi
aus klein-Paris
AW: Makro kopiert zu viel bzw falsche Zeilen
13.09.2021 15:45:10
Daniel
Hi
Du hast hier:

If Cells(10, i).Value  "n.a." Then
Zeile mit Spalte verwechselt: erster Parameter ist Zeile, zweiter ist Spalte.
dh du prüfst in Zeile 10 die einzelnen Spalten durch.
Tausche einfach: Cells(i, 10), oder auch Cells(i, "J")
Bzw, die ganze selektiererei kannst du die sparen.
Schreibe einfach vor jedes Cells/Rows das Tabellenblatt und direkt dahinter den Befehl:
Noch ein Tip: nimm für Ganzzahlen immer den Typ Long.
Auf modernen Rechnern haben die kleineren Typen (Integer, Byte) keine Vorteile, so dass man sich fiese Unterscheidung sparen kann.

ub Daten_kopieren2()
Dim i As Long
Application.ScreenUpdating = False
Sheets("Input").Rows("7:186").ClearContents
For i = 7 To 200
If Sheets("Chromeloen Ausgabe").Cells(i, 10).Value  "n.a." Then
Sheets("Chromeloen Ausgabe").Rows(i).Copy
Sheets("Input").Rows(i).PasteSpecial xlpasteall
End If
Next i
Application.ScreenUpdating = True
End Sub
Gruß Daniel
Anzeige
AW: Makro kopiert zu viel bzw falsche Zeilen
14.09.2021 09:22:04
Markus
Danke dir Daniel, funktioniert super. Was so ein kleiner Fehler alles ausmachen kann.
Gruß
Markus
AW: Makro kopiert zu viel bzw falsche Zeilen
13.09.2021 18:14:00
GerdL
Moin,
teste mal.

Sub Unit()
Sheets("Input").Rows("7:200").ClearContents
With Sheets("Chromeloen Ausgabe").Cells(7, 10).Resize(194)
With .ColumnDifferences(.Cells.Find("n.a", lookat:=xlWhole, LookIn:=xlValues))
.EntireRow.Copy Sheets("Input").Rows(7)
End With
End If
End Sub
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige