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
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Summe aus next schleife
29.06.2006 12:25:58
Henrik
hallo zusammen,
habe kleines problem mit folgender funktion. (konnte im archiv leider nix finden)
(Eigentlich geht es nur um das ende der funktion.)

Function jahrTS()
Application.Volatile True
For n = 1 To 3
If Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column) <> 0 Then
Sa = WorksheetFunction.SumIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column), _
Worksheets("tabellen").Range("m111:m475")) / _
WorksheetFunction.CountIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column))
Su = WorksheetFunction.SumIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column), _
Worksheets("tabellen").Range("n111:n475")) / _
WorksheetFunction.CountIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column))
ab = Worksheets("Eingabe BEL").Cells(36, Application.Caller.Column)
ae = Worksheets("Eingabe BEL").Cells(61, Application.Caller.Column)
If ab >= Sa And ab <= Su And ae >= Sa And ae <= Su And ae > ab Then
TS1 = ae - ab
Else
If ab >= Sa And ab <= Su And ae >= Sa And ae <= Su And ae < ab Then
TS1 = Su - ab + ae - Sa
Else
If ab >= Sa And ab <= Su And ae >= Su Or ab >= Sa And ab <= Su And ae <= Sa Then
TS1 = Su - ab
Else
If ae >= Sa And ae <= Su And ab >= Su Or ae >= Sa And ae <= Su And ab <= Sa Then
TS1 = ae - Sa
Else
If ab >= 0 And ab <= Sa And ae >= Su Then
TS1 = Su - Sa
Else
If ab > ae And ab <= Sa And ae < ab Then
TS1 = Su - Sa
Else
If ab = ae Then
TS1 = Su - Sa
Else
If ab > ae And ab > Su And ae >= Su Then
TS1 = Su - Sa
Else
TS1 = 0
End If
End If
End If
End If
End If
End If
End If
End If
ts2 = TS1 * 24 * WorksheetFunction.CountIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column))
End If
MsgBox ts2
Next n
jahrTS = ts2
End Function

Das funktioniert auch alles! habe zur kontrolle msgbox für ts2-wert gemacht. da kommen auch für n=1 bis 3 3 verschiedene werte raus.
das problem ist nur: wie kann ich die addieren (also als 1ne summe ausgeben)?
vielen dank für jede hilfe
gruß henrik

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summe aus next schleife
29.06.2006 12:47:04
Mustafa
Hallo Henrik,

Function jahrTS()
Application.Volatile True
For n = 1 To 3
If Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column) <> 0 Then
Sa = WorksheetFunction.SumIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column), _
Worksheets("tabellen").Range("m111:m475")) / _
WorksheetFunction.CountIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column))
Su = WorksheetFunction.SumIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column), _
Worksheets("tabellen").Range("n111:n475")) / _
WorksheetFunction.CountIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column))
ab = Worksheets("Eingabe BEL").Cells(36, Application.Caller.Column)
ae = Worksheets("Eingabe BEL").Cells(61, Application.Caller.Column)
If ab >= Sa And ab <= Su And ae >= Sa And ae <= Su And ae > ab Then
TS1 = ae - ab
Else
If ab >= Sa And ab <= Su And ae >= Sa And ae <= Su And ae < ab Then
TS1 = Su - ab + ae - Sa
Else
If ab >= Sa And ab <= Su And ae >= Su Or ab >= Sa And ab <= Su And ae <= Sa Then
TS1 = Su - ab
Else
If ae >= Sa And ae <= Su And ab >= Su Or ae >= Sa And ae <= Su And ab <= Sa Then
TS1 = ae - Sa
Else
If ab >= 0 And ab <= Sa And ae >= Su Then
TS1 = Su - Sa
Else
If ab > ae And ab <= Sa And ae < ab Then
TS1 = Su - Sa
Else
If ab = ae Then
TS1 = Su - Sa
Else
If ab > ae And ab > Su And ae >= Su Then
TS1 = Su - Sa
Else
TS1 = 0
End If
End If
End If
End If
End If
End If
End If
End If
ts2 = TS1 * 24 * WorksheetFunction.CountIf(Worksheets("tabellen").Range("j111:j475"), _
Worksheets("Eingabe BEL").Cells(76 + n, Application.Caller.Column))
End If
ts3=ts3+ts2
MsgBox ts2
Next n
jahrTS = ts2
End Function

So soltte es wohl Funktionieren.
Wenn du am ende der Funtion dann für ts2 den summierten Wert willst dann schreibe vor End Funktion noch ts2=ts3.
Rückmeldung obs hilft wäre nett.
Viele Grüße aus Köln.
Anzeige
Funktioniert
29.06.2006 12:57:33
Henrik
danke mustafa,
funktioniert einwandfrei.
so einfach kann es sein.
gruß aus braunschweig
Freut mich das ich helfen konnte owT :)
29.06.2006 12:58:17
Mustafa

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige