Hallo liebe Experten,
Excel treibt mich in den Wahnsinn.
Hier einCodeschnipsel, das fast funktioniert:
wks.Cells(j, 21).Value = "=t" & Right(Str(j), 1) & "\*S" & Right(Str(j), 1)
Next j
wks.Cells(j, 21).Value = "=Summe(U2:U" & Right(Str(j - 1), 1) & ")"
Ich kann leider nicht Application.WorksheetFunction. verwenden, weil ich unter Umständen in dem sheet noch was manuell verändern muss.
Was geht:
erste Zeile: Funktioniert genau so wie ich wollte.
Was nicht geht:
ditte Zeile. Wenn ich sheet öffne, steht in der Zelle die Fehlermeldung #Name.
Klicke ich die Zelle an sehe ich, dass die richtige Formel drin steht.
Gehe ich dann mit F2 auf die Zelle sehe ich, dass die Formel richtig drin steht. Wenn ich dann RETURN drücke, steht sogar das richitge ergebnis drin.
│ R │ S │ T │ U │
──┼─────────────┼────┼────┼────────┤
1 │ Art │ │ │ │
──┼─────────────┼────┼────┼────────┤
2 │ Client Call │ 74 │ 30 │ 2220 │
──┼─────────────┼────┼────┼────────┤
3 │ │ │ │ #NAME? │
──┴─────────────┴────┴────┴────────┘
Benutzte Formeln:
U2: =T2\*S2
U3: =Summe(U2:U2)
Festgelegte Namen:
Tabelle1!\_FilterDatabase: =Tabelle1!$M:blush:M, \*versteckter Name, unbenutzt in Selektion.
Tabelle1!Extract : =Tabelle1!$R$1, unbenutzt in Selektion.
R1:U3
haben das Zahlenformat: Standard
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Gruß
Reinhard
Knan mir einer von euch dabei helfen?
Ich bin mit meinem Latein/VBA am Ende.
Grüße
Winter
P.S.
das right bei der str() Funktion hat mir Kopfschmerzen bereitet, warum zu Bill Gates macht er ein Leerzeichen davor?
Hallo Winter,
Hier einCodeschnipsel, das fast
funktioniert:
wks.Cells(j, 21).Value = „=t“ & Right(Str(j), 1) &
„*S“ & Right(Str(j), 1)
Next j
wks.Cells(j, 21).Value = „=Summe(U2:U“ & Right(Str(j - 1), 1)
& „)“
wundert mich daß da überhaupt was funktioniert 
Sub tt()
Dim wks As Worksheet, j As Long
Set wks = ActiveSheet
j = 2
wks.Cells(j, 21).Formula = „=t“ & j & „*S“ & j
j = 3
wks.Cells(j, 21).Formula = „=Sum(U2:U“ & j - 1 & „)“
End Sub
Anstatt Formula kannst du auch FormulaLocal nehmen dann kannst du die deutschen Funktionsnamen benuten. Allerding läuft das dann nicht z.B. im englischen Excel, von daher wird oft Formula bevorzugt.
das right bei der str() Funktion hat mir Kopfschmerzen
bereitet, warum zu Bill Gates macht er ein Leerzeichen davor?
Das hat diesmal nix mit Bill zu tun, das ist in vielen Progrmmiersprachen so, daß Zahlen vorne ein Vorzeichenbyte haben bei Umwandlung in String, schau mal in die Hilfe zu „Str“
Sub nn()
MsgBox Len(Str(5))
MsgBox Len(CStr(5))
End Sub
Gruß
Reinhard
Hallo reinhard,
danke für die Schnelle Antwort.
wundert mich daß da überhaupt was funktioniert 
Meine Sachen funktionieren immer.
und dann scheitern sie an meinen Basiswissen. 
Sub tt()
Dim wks As Worksheet, j As Long
Set wks = ActiveSheet
j = 2
wks.Cells(j, 21).Formula = „=t“ & j & „*S“ & j
j = 3
wks.Cells(j, 21).Formula = „=Sum(U2:U“ & j - 1 & „)“
End Sub
Danke das funktioniert
Klar.
Aber so als Bonusfrage um den Jackpot zu gewinnen, warum funktioniert das „U2*U3“ und nicht die Summe?
Und warum auf diese komische weise. Hast Du das mal bei dir probiert? kommt bei Dir der Selbe Fehler? Warum funktioniert es mit F2
Das hat diesmal nix mit Bill zu tun, das ist in vielen
Progrmmiersprachen so, daß Zahlen vorne ein Vorzeichenbyte
haben bei Umwandlung in String, schau mal in die Hilfe zu
„Str“
Trozdem doof
und muss nichts mit Bill zu tun haben, Ich wollte nur Fluchen und ich glaube nicht an den teufel.
Danke nochmal.
Grüße
Winter
Aber so als Bonusfrage um den Jackpot zu gewinnen, warum
funktioniert das „U2*U3“ und nicht die Summe?
Und warum auf diese komische weise. Hast Du das mal bei dir
probiert? kommt bei Dir der Selbe Fehler? Warum funktioniert
es mit F2
Hallo Winter,
genaues weiß ich nicht.
F2 mit Enter führt für die Zelle sowas wie den Vba-Befehl Evaluate (gibts bei Excel4Makro-Funktionen, da heißt es Auswerten) und F9 aus.
Formatiere A1 als Text, schreib rein:
=B1*C1
dann formatiere A1 als Standard.
Berechnet wird jetzt erst wenn du mit F2 in A1 gehst und Enter drückst.
Gruß
Reinhard