die Datei: https://www.herber.de/bbs/user/56243.xls hat nach Klick auf den Button die nachfolgende Tabelle:
Die Berechnung in Spalte C ist korrekt, so soll es aussehen, also pro Stunde nur einen Wert, Rest 0.
Da die Originaldatei alle 65536 Zeilen ausgenutzt hat, errgeben sich bei 102 Bytes Formellänge in C dann 6,7 MBytes nur für die Formeln.
Deshalb habe ich in Spalte D probiert, die gleiche Formel im Namen W zu benutzen.
Wie man sieht wird dann aber in D falsch gerechnet. Was muß ich da ändern?
Zweite Frage, es gelingt mir nicht im folgenden Code die Formel mit dem Unterstrich aufzuteilen auf zwei Zeilen, dann kommt Kompilierungsfehler, erwartet Anweisungsende, das "Wenn" wird markiert.
Sub Berechnen()
Dim F As String
Dim Zei As Long, F1 As String, F2 As String
'F = "=WENN(MINUTE(A1)=55;SUMME(INDIREKT(""b""&ZEILE()-11&"":B""&ZEILE()))/12; _
' WENN(STUNDE(A1)STUNDE(A2);B1;0))"
F1 = "=WENN(MINUTE(A1)=55;SUMME(INDIREKT(""b""&ZEILE()-11&"":B""&"
F2 = "ZEILE()))/12;WENN(STUNDE(A1)STUNDE(A2);B1;0))"
Columns(3).NumberFormat = "0.00"
Zei = Range("A" & Rows.Count).End(xlUp).Row
Range("C1:C" & Zei).FormulaLocal = F1 & F2
'Range("C1:C" & Zei).Value = Range("C1:C" & Zei).Value
End Sub
Tabellenblatt: H:\[kwStundenliste.xls]!Liste
| A | B | C | D |
1 | 0.00 | 1 | 1,00 | 1,00 |
2 | 1.00 | 2 | 2,00 | 2,00 |
3 | 2.00 | 3 | 3,00 | 3,00 |
4 | 3.00 | 4 | 4,00 | 4,00 |
5 | 4.00 | 5 | 5,00 | 5,00 |
6 | 5.00 | 6 | 0,00 | 0,00 |
7 | 5.05 | 7 | 0,00 | 0,00 |
8 | 5.10 | 8 | 0,00 | 0,00 |
9 | 5.15 | 9 | 0,00 | 0,00 |
10 | 5.20 | 10 | 0,00 | 0,00 |
11 | 5.25 | 11 | 0,00 | 0,00 |
12 | 5.30 | 12 | 0,00 | 0,00 |
13 | 5.35 | 13 | 0,00 | 0,00 |
14 | 5.40 | 14 | 0,00 | 0,00 |
15 | 5.45 | 15 | 0,00 | 0,00 |
16 | 5.50 | 16 | 0,00 | 0,00 |
17 | 5.55 | 17 | 11,50 | 1,42 |
18 | 6.00 | 18 | 0,00 | 0,00 |
19 | 6.05 | 19 | 0,00 | 0,00 |
20 | 6.10 | 20 | 0,00 | 0,00 |
21 | 6.15 | 21 | 0,00 | 0,00 |
22 | 6.20 | 22 | 0,00 | 0,00 |
23 | 6.25 | 23 | 0,00 | 0,00 |
24 | 6.30 | 24 | 0,00 | 0,00 |
25 | 6.35 | 25 | 0,00 | 0,00 |
26 | 6.40 | 26 | 0,00 | 0,00 |
27 | 6.45 | 27 | 0,00 | 0,00 |
28 | 6.50 | 28 | 0,00 | 0,00 |
29 | 6.55 | 29 | 23,50 | 2,42 |
30 | 7.00 | 30 | 0,00 | 0,00 |
Benutzte Formeln:
C1 : =WENN(MINUTE(A1)=55;SUMME(INDIREKT("b"&ZEILE()-11&":B"&ZEILE()))/12;WENN(STUNDE(A1) _
STUNDE(A2);B1;0))
C2 : =WENN(MINUTE(A2)=55;SUMME(INDIREKT("b"&ZEILE()-11&":B"&ZEILE()))/12;WENN(STUNDE(A2) _
STUNDE(A3);B2;0))
C3 : =WENN(MINUTE(A3)=55;SUMME(INDIREKT("b"&ZEILE()-11&":B"&ZEILE()))/12;WENN(STUNDE(A3) _
STUNDE(A4);B3;0))
usw. in Spalte C
D1 : =W
D2 : =W
D3 : =W
Festgelegte Namen:
W: =WENN(MINUTE(A1)=55;SUMME(INDIREKT("b"&ZEILE()-11&":B"&ZEILE()))/12;WENN(STUNDE(A1)STUNDE( _
A2);B1;0)) *rel. Name, so gültig in D1
Zahlenformate der Zellen im gewählten Bereich:
A1:A30
haben das Zahlenformat: h.mm
B1:B30
haben das Zahlenformat: Standard
C1:C30,D1:D30
haben das Zahlenformat: 0,00
Danke Gruß
Reinhard