Warning: Undefined array key "p" in /home/clients/119990c2465ec8673b725b4ed2ffc513/sites/informatikboard.ch/includes/vb5/template.php(404) : eval()'d code on line 794 Warning: Undefined array key "p" in /home/clients/119990c2465ec8673b725b4ed2ffc513/sites/informatikboard.ch/includes/vb5/template.php(404) : eval()'d code on line 794 Excel VBA If Then - iB - InformatikBoard.ch - Benutzer helfen Benutzern

Ankündigung

Einklappen
Keine Ankündigung bisher.

Excel VBA If Then

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage: Excel VBA If Then

    Hallo zusammen

    Ich bin zwar schon lange dabei habe bis anhin noch nie eine frage gestellt. Benötige dringend hilfe beim VBA in Excel.

    Ich habe eine Tabelle dort werden die Daten später importiert deshalb sollte das Makro immer zeile für zeile abschliessen bis zu einer gewissen Zeilennummer.

    B5 - E5 stehen 4 zahlen (später mehr deshalb ausbaufähig) z.B. 20, 21, 22, 23 Zelle ist für jede Zahl variable, es kann vorkommen das 24 in Zelle b5 vorkommt.

    Jetzt die eigentliche Aufgabe des Makros:

    Wenn im Bereich B5 bis E5 die Zahl 20 und 21 und 22 und 23 vorkommt dann wert 5

    Wenn im Bereich B5 bis E5 die Zahl 20 und 21 und 22 vorkommt dann wert 4

    Wenn im Bereich B5 bis E5 die Zahl 20 und 21 vorkommt dann wert 3

    Wenn im Bereich B5 bis E5 die Zahl 20 vorkommt dann wert 2 in Zelle I5


    Dann nächste Zeile das gleiche bis keine Werte mehr in Zelle B5- E5 vorkommen.


    Ich weis nicht ob mir da jemand helfen kann, versuche das jedoch schon seit Wochen ohne erfolg. Habe zwar ein Test1 Makro erstellt das mir jedoch gibt was es gerade lust hat. (glaube das Makro schaut die zahlen mit Oder und nicht mit und an) denn wenn alle Zahlen vorhanden sind darf er den wert geben sonst muss das Makro durchlaufen.

    Danke schon jetzt für die Hilfe

  • #2
    AW: Excel VBA If Then

    Hi cschoeni,

    habe Dir mal was gebastelt. Geht bestimmt noch schöner aber es läuft und kann von Dir ganz einfach erweitert werden.

    Viel Spaß damit:

    Dim x, z, y, WERT
    z = 0 'Anzahl gefüllte Zeilen
    y = 0 'Zähler auf 0
    x = 5 'Startpunkt von Zeile A5 ohne Überschrift
    'Daten aus Zwischenablage (inkl. Überschriften) nach A3 kopieren
    'Hier wird ermittelt wieviel Zeilen in Spalte A mit Daten gefüllt sind. Der Wert wird nach Z geschrieben
    Do While Range("A" & x) <> ""
    x = x + 1
    Loop
    z = x - 5
    'Jetzt gehts los
    For y = z - 1 To x
    WERT = Range("B" & y - 1) + Range("C" & y - 1) + Range("D" & y - 1) + Range("E" & y - 1)
    Select Case WERT
    Case 86 '(20, 21, 22, 23)
    Range("F" & y - 1) = 5
    Case 63 '(20, 21, 22)
    Range("F" & y - 1) = 4
    Case 41 '(20, 21)
    Range("F" & y - 1) = 3
    Case 20 '(20)
    Range("I" & y - 1) = 2
    Case Else
    End Select
    Next y

    LG Denis

    Kommentar


    • #3
      AW: Excel VBA If Then

      Danke dir viel mal Denis. Es hat wunderbar funktioniert. Hatte mir schon fast gedacht das ich die Werte zusammenzählen muss und dann überprüfen da warscheindlich mehrere Werte in einer Abfrage nicht überprüft werden können.

      Hauptsache das Makro funktioniert und das tut es. Danke nochmals für deine verwendete Zeit.

      Kommentar

      Lädt...
      X