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

zeilen in neues arbeitsblatt einfügen

zeilen in neues arbeitsblatt einfügen
06.03.2007 16:34:22
metleck
Hey!
Also mit diesem Code werden 5 Zahlen verglichen, und wenn sie stimmen soll eine der Zahlen in ein neues Arbeitsblatt kopieren.
Leider wird 3 mal kopiert anstatt einmal.
Woran könnte das liegen?
For i = 5 To 10 Step 1
If Range("C" & i).Value Range("C5").Value Then
Fehler = True
i = 11
End If
If Fehler = True Then
Range("C1:C10").Copy
Worksheets("Fehler").Range("C1:C10").PasteSpecial xlPasteValuesAndNumberFormats
Worksheets("Neu").Range("D2").Interior.Color = vbRed
Fehler = False
ElseIf Fehler = False Then
Range("C5:C10").Interior.Color = vbGreen
Range("C5").Copy
'Worksheets("Neu").Range("D2").PasteSpecial xlPasteValuesAndNumberFormats
Worksheets("Neu").Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValuesAndNumberFormats
End If

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zeilen in neues arbeitsblatt einfügen
06.03.2007 18:32:00
Erich
Hallo metleck(?),
das "Next" zu deiner For-Schleife steht vermutlich unter dem Code, den du gepostet hast.
Deshalb wird (je nach Erfülltsein der Bedingung) mehrfach kopiert.
Die Schleife brauchst du nur für die Prüfung, das Kopieren erfolgt nach dem Next der Schleife.
Probier mal (ungetestet):
Option Explicit
Sub tst2()
Dim i As Integer
For i = 5 To 10 Step 1
If Cells(i, 3) <> Range("C5") Then Exit For
Next i
If i <= 10 Then
Range("C1:C10").Copy
Worksheets("Fehler").Range("C1:C10").PasteSpecial xlPasteValuesAndNumberFormats
Worksheets("Neu").Range("D2").Interior.Color = vbRed
Else
Range("C5:C10").Interior.Color = vbGreen
Range("C5").Copy
Worksheets("Neu").Cells(Rows.Count, 4).End(xlUp).Offset(1, 0).PasteSpecial _
xlPasteValuesAndNumberFormats
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige