ich schlage mich seit einigen Stunden mit einem Problem bei einem Makro rum und komme einfach nicht weiter.
Ich habe eine Mappe mit 10 Arbeitsblättern. Diese sind, bis auf einige Kleinigkeiten, identisch. Nun habe ich mir ein Makro gebaut, welches bei einem Klick auf einen Button sämtliche Felder in allen Arbeitsblättern zurücksetzen soll. Das ganze funktioniert auch soweit.
Nun gibt es aber einige Spalten, z.B. E10 bis E40, welche nur dann mit einem Vorgabewert belegt werden, wenn in den Spalten D10 bis D40 zuvor ein Wert berechnet wurde. Wenn das nicht der Fall ist, dann sollen die entsprechenden Zellen unter E leer bleiben.
Dafür habe ich nun folgendes gebaut:
Im Arbeitsblatt selber habe ich folgende Formel, die auch problemlos funktioniert:
=WENN(D12"";"1";"")
Im Makro habe ich dann:
For Zeile = 10 To 40
Cells(Zeile, 5).FormulaLocal = "=WENN(D" & Zeile & " ;1;)"
Next Zeile
Und das scheitert an dem Leerzeichen hinter den . Und am Ende müsste dann ja auch ein Leerzeichen entsprechend ausgegeben werden. Es muss aber geprüft werden, ob z.B. die Zelle D12 leer ist. Ist dies der Fall, muss E12 auch leer bleiben. Nur wenn z.B. in D12 ein Wert steht, dann soll in E12 eine 1 vorgegeben werden.Im Grunde würde die Formel im Arbeitsblatt ja ausreichen, diese wird ja beim zurücksetzen nicht entfernt. Allerdings hat man bei der Eingabe die Möglichkeit z.B. in Feld E12, wo ja die 1 eingetragen wurde, auch z.B. eine 3 nachzutragen. Dadurch wird dann aber die Formel entfernt und fehlt somit dann auch nach dem Zurücksetzen.
Ich hoffe mal, dass ihr meine Laienhafte Beschreibung annähernd versteht :)
Ich bedanke mich schon mal im Voraus für die Hilfe.
Gruß
Rene