Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
332to336
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
332to336
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vergleich von Zell-Werten in If-Bedingung

Vergleich von Zell-Werten in If-Bedingung
04.11.2003 21:38:16
Stefan
Hallo!

ich versuche, in einer Spalte jeweils von oben nach unten jeden Wert in einer Zelle mit dem Wert darüber zu vergleichen. Stimmt der Wert nicht überein, so soll die Zeile, in der man sich gerade befindet markiert und kopiert weren. Diese wird dann in einem anderen Fenster am Ende der Tabelle eingefügt. Bisher versuche ich das so:

For zaehler = 2 To zaehler = intLetzteZeile


If Cells("A" & zaehler).Value <> Cells("A" & zaehler - 1).Value Then

Range("A" & zaehler & ":P" & zaehler).Select
Selection.Copy

Windows("a" & intJahr & ".xls").Activate

intLetzteZeile2 = Worksheets("a" & intJahr & _
".xls").Cells(Rows.Count, 1).End(xlUp).Row


Cells(intLetzteZeile2 + 1,1).Select ' ActiveSheet.Paste

End If

Das Programm wird ohne Fehler ausgeführt - es scheint aber nichts zu passieren (jedenfalls sind die Sheets unverändert, obwohl er Abweichungen finden müsste)
Kann mir da jemand weiterhelfen?

Danke,
Stefan

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich von Zell-Werten in If-Bedingung
04.11.2003 21:44:29
Ramses
Hallo

glaube nicht dass das Makro jemals gelaufen ist ;-)
Mit "Cells("A" & zaehler).Value" gibt es einen Laufzeitfehler.
Die Anweisung muss lauten entweder

Range("A"&zaehler).Value

oder

Cells(zaehler,1).Value

Gruss Rainer
AW: Vergleich von Zell-Werten in If-Bedingung
04.11.2003 21:49:26
Stefan
Hallo,

danke für die Antwort. Lief aber tatsächlich durch. Hab das gleiche übrigens auch mit der Range-Methode probiert - genau das gleiche Problem. Ich druck mal den gesamten Quelltext ab, vielleicht fällt ja jemandem was anderes auf?


Sub TestProgramm()
Dim i As Integer                    ' Zählvariable
Dim strWorkbook As String
Dim intEndjahr As Integer
Dim intStartjahr As Integer
Dim intJahr As Integer
ChDrive "d"
ChDir "D:\Daten\Preisdaten\Jahresfiles_MM_inSpalten\31_10_03"
intStartjahr = InputBox("Startjahr?")
intEndjahr = InputBox("Endjahr?")
Dim zaehler As Integer
For intJahr = intStartjahr To intEndjahr
Workbooks.Open Filename:= _
"D:\Daten\Preisdaten\Jahresfiles_MM_inSpalten\31_10_03\a" & intJahr & ".xls"
Sheets("Tabelle1").Select
' Hier 1. Zeile beschriften
Workbooks.Open Filename:= _
"D:\Daten\Preisdaten\Jahresfiles_MM_inSpalten\31_10_03\" & intJahr & ".xls"
Worksheets("ohneDoppelte").Activate
intLetzteZeile = Worksheets("ohneDoppelte").Cells(Rows.Count, 1).End(xlUp).Row
For zaehler = 2 To zaehler = intLetzteZeile
If Cells("A" & zaehler).Value = Cells("A" & zaehler - 1).Value Then
Range("A" & zaehler & ":P" & zaehler).Select
Selection.Copy
Windows("a" & intJahr & ".xls").Activate
intLetzteZeile2 = Worksheets("a" & intJahr & _
".xls").Cells(Rows.Count, 1).End(xlUp).Row
Cells(intLetzteZeile2 + 1, 1).Select
ActiveSheet.Paste
End If
Windows(intJahr & ".xls").Activate
Sheets("ohneDoppelte").Activate
Next zaehler
Next intJahr
End Sub

Anzeige
Das ist nie gelaufen....
04.11.2003 21:56:47
Ramses
Hallo

wenn man mal allen überflüssigen Ballast weglässt bleibt diese Schleife übrig:


Sub TestProgramm()
intletztezeile = 10
For zaehler = 2 To zaehler = intletztezeile
Debug.Print zaehler
If Cells("A" & zaehler).Value = Cells("A" & zaehler - 1).Value Then
Range("A" & zaehler & ":P" & zaehler).Select
Selection.Copy
Cells(intLetzteZeile2 + 1, 1).Select
ActiveSheet.Paste
End If
Next zaehler
End Sub


Lass mal den Code laufen und schau was passiert >> NIX

Lass mal den Code laufen und schau was passiert:


Sub TestProgramm()
intletztezeile = 10
For zaehler = 2 To intletztezeile
Debug.Print zaehler
If Cells("A" & zaehler).Value = Cells("A" & zaehler - 1).Value Then
Range("A" & zaehler & ":P" & zaehler).Select
Selection.Copy
Cells(intLetzteZeile2 + 1, 1).Select
ActiveSheet.Paste
End If
Next zaehler
End Sub


Hier kriegst du den Laufzeitfehler. Das Problem ist, dass du der Variable "Zaehler" zweimal einen wert zuweist.

Gruss Rainer
Anzeige
AW: Das ist nie gelaufen....
05.11.2003 11:33:25
Stefan
Hallo Rainer,

vielen Dank für Deine Hilfe. Das Programm läuft jetzt.

Gruß

Stefan
AW: Das ist nie gelaufen....
05.11.2003 12:59:33
Stefan
Hallo Rainer,

vielen Dank für Deine Hilfe. Das Programm läuft jetzt.

Gruß

Stefan
AW: Das ist nie gelaufen....
05.11.2003 12:59:42
Stefan
Hallo Rainer,

vielen Dank für Deine Hilfe. Das Programm läuft jetzt.

Gruß

Stefan
AW: Das ist nie gelaufen....
05.11.2003 12:59:46
Stefan
Hallo Rainer,

vielen Dank für Deine Hilfe. Das Programm läuft jetzt.

Gruß

Stefan
Merci für's Feedback :-) o.T.
05.11.2003 14:53:34
Ramses
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige