Microsoft Excel

Herbers Excel/VBA-Archiv

Zellen per Formel aktualisieren Wenn, Außer... | Herbers Excel-Forum


Betrifft: Zellen per Formel aktualisieren Wenn, Außer... von: Chris
Geschrieben am: 20.02.2012 21:52:38

Hallo zusammen,

ich versuche in Excel folgendes per Formel zu lösen:

In A1 stehen Werte. Zelle B1 soll die Werte aus A1 immer aktualisieren, AUßER in Zelle A1 steht "k", dann soll in Zelle B1 der letzte aktualisierte Wert erhalten bleiben. So:

A1: 1 B1:1
A1: 2 B1: 2
A1: k B1: 2
A1: 3 B1: 3
A1: k B1: 3

Gleichzeitig soll in Zelle C1 die Werte addiert werden, die in B1 NICHT aktualisiert worden sind. In diesem Fall:

C1 = 3+2 = 5

Lässt sich das per Formel lösen? Oder nur VBA?

Gruß,

Chris

  

Betrifft: AW: Zellen per Formel aktualisieren Wenn, Außer... von: Hajo_Zi
Geschrieben am: 21.02.2012 06:02:45

Hallo Chris,

das geht nur per VBA. Zu K kannst Du keinen Wert addieren. Ist es in B1 eine Eingabe?

GrußformelHomepage


  

Betrifft: AW: Zellen per Formel aktualisieren Wenn, Außer... von: Chris
Geschrieben am: 21.02.2012 07:35:11

Hallo Hajo,

Nein, B1 ist keine Eingabe, das ist die Zelle, die automatisch aktualisiert wird, außer wenn in A1 k steht.

Hast du einen vba Vorschlag ?

Gruß,

Chris


  

Betrifft: AW: Zellen per Formel aktualisieren Wenn, Außer... von: Timo
Geschrieben am: 21.02.2012 09:39:05

Hallo Chris,

hier mal ein Vorschlag, der in das Tabellenmodul eingetragen werden muß:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub
    Dim iWert As Integer
    Dim iSumme As Integer
    Application.EnableEvents = False
    If Target.Value = "k" Then
        iSumme = Range("C1").Value
        iSumme = iSumme + Range("B1").Value
        Range("C1").Value = iSumme
    Else
        Range("B1").Value = Target.Value
    End If
    Application.EnableEvents = True
End Sub
Gruß
Timo


  

Betrifft: AW: Zellen per Formel aktualisieren Wenn, Außer... von: Chris
Geschrieben am: 21.02.2012 13:48:11

Hallo Timo,

genau so. Danke :-)


  

Betrifft: AW: Zellen per Formel aktualisieren Wenn, Außer... von: Chris
Geschrieben am: 21.02.2012 20:38:34

Hi Timo,

ich brauche doch noch eine Veränderung: Ich addiere mit deinem Makro Kommazahlen, 0.10, 1.10
usw.

Ich stelle fest, dass VBA aufrundet bzw. abrunden. Ich brauche das so, dass auch die Kommazahlen genau (!) addiert werden.

Nochmals danke,

Chris


  

Betrifft: AW: Zellen per Formel aktualisieren Wenn, Außer... von: Timo
Geschrieben am: 22.02.2012 09:17:00

Hi Chris,

dann so:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$1" Then Exit Sub
    Dim dSumme As Double
    Application.EnableEvents = False
    If Target.Value = "k" Then
        dSumme= Range("C1").Value
        dSumme= dSumme+ Range("B1").Value
        Range("C1").Value = dSumme
    Else
        Range("B1").Value = Target.Value
    End If
    Application.EnableEvents = True
End Sub
Schlüssel dabei ist der angegebene Variablentyp: Integer steht für Ganzzalen und Double wird bei Kommazahlen verwendet.

Gruß
Timo


Beiträge aus den Excel-Beispielen zum Thema "Zellen per Formel aktualisieren Wenn, Außer..."