Microsoft Excel

Herbers Excel/VBA-Archiv

Bestimmte änderung alle Formeln wie ???

Betrifft: Bestimmte änderung alle Formeln wie ??? von: Bernd.H
Geschrieben am: 20.09.2004 07:59:40

Hi Excelfans,

ich hoffe ihr habt eine idee.

Ich habe in Spalte BX2 bis CJ 150 alles verschiedene Formeln stehen jetzt möchte ich gerne in allen Formeln gleichzeitig den Anfang und das ändern gleich ändern.

Das heisst ich möchte gerne bei allen Formeln am anfang folgendes eingefügt haben

=WENN(HEUTE()>DATUM(2005;1;1);(meine Formel));0)


und am Ende (meine Formel));0)

hat einer eine Idee wie man dieses umseten kann ohne das ich in jede Formel gehe !!!

Gruß Bernd.H

  


Betrifft: AW: Bestimmte änderung alle Formeln wie ??? von: Harald Kapp
Geschrieben am: 20.09.2004 09:02:57

Hallo Bernd,
kleines Makro dazu:

Sub test()

Dim zelle As Range

For Each zelle In ActiveSheet.Range("BX2:CJ150")
    zelle.FormulaR1C1 = "=IF(TODAY()>DATE(2005,1,1)," & zelle.Formula & ",0)"
Next zelle

End Sub


Gruß Harald


  


Betrifft: ein kleiner fehler !!! von: Bernd.H
Geschrieben am: 20.09.2004 09:22:23

Hi Harald,

der macht mir immer einen Fehler. Er überträgt es nur wenn ich vor if das gleich zeich entferne. Aber dises sollt ja schon mit eingetragen werden.

Gruß Bernd.H


  


Betrifft: Noch eine anmerkung von: Alex
Geschrieben am: 20.09.2004 09:27:18

Hi Harld
also es steht ja schon ein "=" vor der vorhanden Formel kann man dies nicht einfach dazwischen setzen lassen dann bräuchte man keins einsetzen lassen.

Gruß Bernd.H


  


Betrifft: AW: Noch eine anmerkung von: Harald Kapp
Geschrieben am: 20.09.2004 09:58:54

Sorry, Ihr habt Recht:

Sub test()

Dim zelle As Range

For Each zelle In ActiveSheet.Range("BX2:CJ150")
    If zelle.Formula <> "" Then
        zelle.FormulaR1C1 = "=IF(TODAY()>DATE(2005,1,1)," & Right(zelle.Formula, Len(zelle.Formula) - 1) & ",0)"
    End If
Next zelle

End Sub


Gruß Harald


  


Betrifft: klappt leider immer noch nicht von: Bernd.H
Geschrieben am: 20.09.2004 10:21:05

Hi Harald,

habe jetzt folgenden code eingegeben
Sub test()

Dim zelle As Range

For Each zelle In ActiveSheet.Range("BX2:CJ150")
    If zelle.Formula <> "" Then
        zelle.FormulaR1C1 = "=wenn(Heute()>Datum(2005;1;1)," & Right(zelle.Formula, Len(zelle.Formula) - 1) & ",0)"
    End If
Next zelle

End Sub


erst meckert er wieder wegen dem "=" vor "wenn" und wenn ich es entfernen und durchlaufen lasse meckert er in der formel weil er die vorhandene Formel ins English übersetzt. Es ist eine "=SUMMENPRODUKT" Formel in den Zellen vorhanden.

Gruß Bernd .H


  


Betrifft: AW: klappt leider immer noch nicht von: Harald Kapp
Geschrieben am: 20.09.2004 10:44:09

Hallo Bernd,
bei mir klappt es, allerdings muss im Makro die Englische Bezeichnung stehen:

Sub test()

Dim zelle As Range

For Each zelle In ActiveSheet.Range("BX2:CJ150")
    If zelle.Formula <> "" Then
        zelle.FormulaR1C1 = "=IF(TODAY()>DATE(2005,1,1)," & Right(zelle.Formula, Len(zelle.Formula) - 1) & ",0)"
    End If
Next zelle

End Sub


Dann "übersetzt" Excel automatisch Summe in SUM etc. Im Tabellenblatt findest Du statt "IF" dann auch "WENN".


Gruß Harald


 

Beiträge aus den Excel-Beispielen zum Thema "Bestimmte änderung alle Formeln wie ???"