Microsoft Excel

Herbers Excel/VBA-Archiv

value change

Betrifft: value change von: Armin
Geschrieben am: 07.03.2016 14:33:03

Hallo Freunde,

ich habe eine problem und Zwar;

Ich habe Dropdown-1 (10-11-13) und Dropbdown-2 (a,b,c)
ich möchte wenn ich in Dropdown-1 den den Wert (10 ODER 11) wähle und ind Dropdown-1 den Wert (a) soll in der Zelle (C1) den Wert 1,1 auftauchen

Die Kompination ist eingentlich so: (10 und a = 1,1)
(11 und a = 1,1)
(10 und b = 3,3)

Das möchte ich als Private Sub in meinem Arbeitsblatt haben.

Ich habe mit folgender Code versucht aber kommt immer eine Fehlermeldung.

If Range("A1").value=10 or Range("A1").Value=11 and Range("B1").value="a" then
Range("C1").value=1,1

end if

wo habe ich falsch gemacht?

  

Betrifft: AW: value change von: Daniel
Geschrieben am: 07.03.2016 15:19:01

Hi

die Fehlermeldung wird durch die Zeile Range("C1").value = 1,1 verursacht.
das Komma ist in VBA das Parametertrennzeichen, dh so wie du das schreibst, versuchst du der Zelle C1 zweimal den Wert 1 zuzzuweisen und das geht nicht, weil eine Zelle immer nur einen Wert haben kann.

wenn in der Zelle C1 die Zahl 1,1 (eins und ein zehntel) stehen soll, dann musst du in VBA den Punkt als Dezimaltrennzeichen verwenden:

Range("C1").value = 1.1

oder das ganze als Text übergeben:
Range("C1").value = "1,1"
ansonsten ist in deiner IF-Logik noch ein Fehler.
auch für AND und OR gibt es sowas wie eine Punkt-vor-Strich-Regel, die hier lautet AND-vor-OR, dh es werden zunächst diejenigen Wahrheitswerte verknüpft, zwischen denen ein AND steht und erst danach diejenigen mit dem OR.
du müsstesst hier für deine Logik mit Klammern arbeiten:

 If (Range("A1").value = 10 or Range("A1").Value = 11) and Range("B1").value = "a" then
 Range("C1").value = 1.1

 end if

Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "value change"