Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro-Korrektur?

Makro-Korrektur?
05.10.2004 15:14:28
Hanno
Moin,
ich habe folgendes Makro zusammengebastelt:

Sub Berechnung2()
Dim rng As Range
Dim lngE As Long
Dim lngRow As Long
lngRow = 1
lngE = Worksheets("DATA").Range("b1").End(xlDown).Row
'Inhalt der Zielzellen löschen
Worksheets("RFO").Range("A:A").ClearContents
Worksheets("RFO").Range("b:b").ClearContents
Worksheets("RFO").Range("c:c").ClearContents
Worksheets("RFO").Range("d:d").ClearContents
For Each rng In Worksheets("Data").Range("b1:e" & lngE)
'wenn Zelle in Spalte "A" gefüllt dann
If (rng.Value <> "") Then
If (IsNumeric(rng.Value) = True) Then
Worksheets("RFO").Cells(lngRow, 1).Value = 0
Worksheets("RFO").Cells(lngRow, 2).Value = (rng.Offset(0, 1).Value - rng.Value) / rng.Value
Worksheets("RFO").Cells(lngRow, 3).Value = (rng.Value - rng.Offset(0, 2).Value) / rng.Value
Worksheets("RFO").Cells(lngRow, 4).Value = (rng.Offset(0, 3).Value - rng.Value) / rng.Value
'Zeilenzähler erhöhen
lngRow = lngRow + 1
End If
End If
Next
End Sub

Leider gibt mir nicht die Daten aus, die es soll:
https://www.herber.de/bbs/user/11696.xls
Wie muss ich das Makro verändern, so dass es die überflüssigen Daten berechnet?
Vielen Dank im Voraus,
Hanno

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

Betreff
Datum
Anwender
Anzeige
AW: Makro-Korrektur?
05.10.2004 15:34:10
Hanno
Es mus natürlich heißen:
Wie muss ich das Makro verändern, so dass es die überflüssigen Daten NICHT berechnet?
Sorry,
Hanno
AW: Makro-Korrektur?
Uduuh
Hallo,
das ist ein bisschen undurchsichtig und äußerst fehlerhaft.
mit For Each rng In Worksheets("Data").Range("b1:e" & lngE)
durchläufst du jede Zelle im Bereich B1:E4
Mit If (rng.Value "") Then
prüfst du, ob eben diese Zelle numerisch ist, nicht aber die Spalte A.
Deine Formeln beziehen sich teilweise auf leere Zellen. Wenn z.B.rng=d1 ist, dann ist rng.offset(0,2)=f1 und die ist leer.
Du solltest mal erläutern, was du eigentlich rechnen willst.
Gruß aus'm Pott
Udo
Anzeige
AW: Makro-Korrektur?
05.10.2004 15:42:22
Hanno
Danke Uduuh,
dank Deiner Nachfrage habe ich gerade den Fehler selber gefunden.
Vielen Dank,
Hanno
Dann ist ja gut oT
Uduuh

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige