VBA - Abhängigkeit von Zellwert

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: VBA - Abhängigkeit von Zellwert
von: Christian S.
Geschrieben am: 07.05.2015 12:53:37

Hallo,
vorab bin neu hier und Einsteiger in VBA und hänge derzeit an zwei Punkten.
1. Ich habe eine Zelle, die sich in Abhängigkeit von einem anderen Zellwert erhöhen soll. Dass habe ich auch hinbekommen allerdings umständlich und nicht so schön.
Hier ein Auszug der If Bedingung:
If Range("C33").Value = "3" Or Range("C33").Value = "4" Or Range("C33").Value = "5"
Insgesamt 30 Werte, 3-7 10-14 17-21 24-28 31-35 38-42. Die habe ich nun alle mit Or hintereinander geschrieben. Geht das einfacher in der Art: xx.Value = "3,4,5" ? Ich habe auf jeden fall einiges probiert ohne Erfolg :)
2. Ein Zellwert erhöht sich stetig um unterschiedliche Werte bei bestimmten Voraussetzungen bis zu einem Wert X. Ab diesem Wert sollen die folgenden Werte die addiert werden vorher durch 2 geteilt werden. Beispiel:
X = 85, Zellwert steht derzeit auf 84 und Zellwert erhöht sich um 3. Nun soll da nicht 87 stehen, sondern 85,67. Also: 84 + 1 + 2/2 (bis 85 normal und der Rest durch 2, Rest ist in dem Falle 2). Ist sowas möglich?
Hoffe es ist verständlich formuliert :)
Mfg
Christian

Bild

Betrifft: AW: VBA - Abhängigkeit von Zellwert
von: Rudi Maintaire
Geschrieben am: 07.05.2015 13:04:52
Hallo,
select Case ist angebracht.

Select case Range("C33")
case 3 to 7: 'mach dies
case 10 to 14: 'mach das
'etc
End select
Gruß
Rudi

Bild

Betrifft: AW: VBA - Abhängigkeit von Zellwert
von: Sonja
Geschrieben am: 07.05.2015 13:13:45
Hallo,
Versuche es mal mit

Select Case Range("C33").Value2
Case 3,4,5...
Bedingung
Else Case
Bedingung
End Select
Gruß
Sonja

Bild

Betrifft: Else Case
von: Rudi Maintaire
Geschrieben am: 07.05.2015 13:17:35
Hallo Sonja,
besser

Case Else

;-)
Gruß
Rudi

Bild

Betrifft: AW: VBA - Abhängigkeit von Zellwert
von: Kenny
Geschrieben am: 07.05.2015 13:16:35
Hallo,
hab hier mal einen Vorschlag:
1.


For y = 3 To 42 Step 7
    For x = y To y + 4
        If Range("C33").Value = x Then
            MsgBox "ja"
            Exit For
        End If
    Next
Next
2.

If (zellwert + 3) < 85 Then
    MsgBox (zellwert + 3)
Else
    ergebnis = (85 - zellwert) + zellwert + (zellwert + 3 - 85) / 2
    MsgBox ergebnis
End If
Hoffe es funktioniert
Grüße

Bild

Betrifft: Also: 84 + 1 + 2/2
von: Rudi Maintaire
Geschrieben am: 07.05.2015 13:21:19
ist bei mir exakt 86 und nicht 85,67

Bild

Betrifft: AW: VBA - Abhängigkeit von Zellwert
von: Christian S.
Geschrieben am: 07.05.2015 14:08:56
Das mit dem select case hat funktioniert danke euch, kannte ich so noch nicht :)
Ich habe einen kleinen Fehler gemacht es soll durch 3 und nicht durch 2 geteilt werden. Also:
X=85, Zellwert derzeit 84 erhöht sich um 3. Da soll nun 85,67 rauskommen
84 + 1 + 2/3
Deine Formel funktioniert Kenny vielen Dank :)
Mfg
Christian

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA - Abhängigkeit von Zellwert"