Office: VBA: Nur EINMAL +1 Addieren?

Helfe beim Thema VBA: Nur EINMAL +1 Addieren? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Bin ein absoluter VBA Excel-Neuling und komm daher schon bei einer einfachen Sache nicht weiter: Ich soll in Excel so eine Art "Frage-Antwort-Spiel"... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Birka, 22. April 2008.

  1. Birka Neuer User

    VBA: Nur EINMAL +1 Addieren?


    Bin ein absoluter VBA Excel-Neuling und komm daher schon bei einer einfachen Sache nicht weiter:
    Ich soll in Excel so eine Art "Frage-Antwort-Spiel" erstellen und habe in einer Tabelle insgesamt die 7 Spalten A-G:

    A: gibt eine Kategorie an (lz.B. leichte/mittlere/schwere Frage)
    B: enthält Fragen
    C: Diese Spalte ist versteckt und enthält die zu B zugehörigen Lösungen
    D: dort müssen Antworten auf B eingetragen werden
    E: soll automatisch anzeigen, ob die Antwort in D der Lösung aus C entspricht ("Richtig") oder falsch ist ("Falsch")
    F: zeigt an, wie häufig die jeweilige Frage aus B bereits FALSCH beantwortet wurde
    G: zeigt an, wie häufig die jeweilige Frage aus B bereits RICHTIG beantwortet wurde

    Nun möchte ich mit Hilfe von VBA erreichen, dass automatisch in der jeweiligen Zeile in F bzw. G zum momentanen Wert +1 dazuaddiert wird, wenn die Antwort "falsch" bzw. "richtig" ist. Bisher sieht mein Code folgendermaßen aus:

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim Antwort As Range
    Dim Lösung As Range
    Dim wof As Range
    Dim Logikwert As Boolean
    Set Antwort = ActiveWorkbook.ActiveSheet.Cells(ActiveCell.Row - 1, 4)
    Set Lösung = ActiveWorkbook.ActiveSheet.Cells(ActiveCell.Row - 1, 3)
    Set wof = ActiveWorkbook.ActiveSheet.Cells(ActiveCell.Row - 1, 5)
    Select Case Antwort
    Case Is = Lösung
    Logikwert = True
    wof = "Richtig"
    Cells(Target.Row, 7) = Cells(Target.Row, 7) + 1
    Case Else
    Logikwert = False
    wof = "Falsch"
    Cells(Target.Row, 6) = Cells(Target.Row, 6) + 1
    End Select
    End Sub

    Hier habe ich das Problem, dass in Zelle G bzw. F nicht nur einmal +1 dazuaddiert wird, sondern unendlich oft, und ich die Prozedur mit ESC schließlich abbrechen muss. Wie kann ich es schaffen, dass nach der einmaligen Addition die Prozedur bereits von selber abgebrochen wird und die nächste Frage beantwortet werden kann?
    Soweit ich bisher erfahren habe, hat es irgendetwas mit dem Befehl "If Not Intersect(Target, Range("x:y")) Is Nothing" zu tun, weiß allerdings nicht genau, was der Befehl eigentlich macht und wie ich ihn richtig einbaue, damit er auch funktioniert.
    Bin dankbar für jede Hilfe!

    Birka
     
  2. schatzi Super-Moderator
    Hallo!

    Teste mal dies:
    Code:
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim Antwort As String
    Dim Lösung As String
    Dim wof As Range
    Dim Logikwert As Boolean    'Brauchst du den noch anderswo? Sonst mach ihn weg.
      If Target.Column = 4 Then 'war die Änderung in Spalte D?
      'Alternativ:
      'If Not Intersect(Target, Column(4)) Is Nothing Then
      'heißt: Wenn die Schnittmenge von Target und Spalte D nicht Nichts ist, dann...
        Antwort = Target.Value
        Lösung = Target.Offset(0, -1).Value
        Set wof = Target.Offset(0, 1)
          If Antwort = Lösung Then
            Logikwert = True    'siehe oben
            wof = "Richtig"
            Target.Offset(0, 2) = Target.Offset(0, 2) + 1
          Else
            Logikwert = False   'siehe oben
            wof = "Falsch"
            Target.Offset(0, 3) = Target.Offset(0, 3) + 1
          End If
      End If
    End Sub
     
    schatzi, 22. April 2008
    #2
  3. Birka Neuer User
    Vielen Dank! Funktioniert wunderbar jetzt :-D
     
Thema:

VBA: Nur EINMAL +1 Addieren?

Die Seite wird geladen...
  1. VBA: Nur EINMAL +1 Addieren? - Similar Threads - VBA Addieren

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen

    in Microsoft Excel Hilfe
    VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen: Hallo Leute ich brauche dringend Hilfe von einem VBA Spezialisten. Ich hoffe ihr seit mir nicht böse wenn ich sage das ich alles in der Datei beschrieben habe. Würde mich sehr freuen wenn jemand...
  4. Excel-VBA Werte addieren und in nächste freie Zelle eintragen

    in Microsoft Excel Hilfe
    Excel-VBA Werte addieren und in nächste freie Zelle eintragen: Hallo zusammen, ich hab ein kleines Problem und komme leider nicht wurklich voran. Ich habe eine Datei zu einem Produkt. Dort sind für eine bestimmtes Bestelldatum und Ausführungstag die Werte...
  5. werte addieren in vba

    in Microsoft Excel Hilfe
    werte addieren in vba: Hi, hab gerade mal gesucht, aber alle Beiträge konnten mir nicht wirklich weiterhelfen, da bei allen Lösungen alles geklappt hat. Vielleicht steh ich auch einfach auf dem Schlauch. Folgendes...
  6. Variablen Zellbereich in Excel mit VBA addieren

    in Microsoft Excel Hilfe
    Variablen Zellbereich in Excel mit VBA addieren: Hallo, nach erfolgloser Suche stell ich nun meine Frage mal hier ins Forum: Ich hab eine Exceltabelle in der ich mit dem Autofilter sortiert hab. Nun will ich die ausgegebenen Werte addieren, da...
  7. Textboxeingabe mit dem Wert in der dazugehörigen Zelle addieren

    in Microsoft Excel Hilfe
    Textboxeingabe mit dem Wert in der dazugehörigen Zelle addieren: Guten Abend, ich bin VBA Neuling und habe mir durch goggeln das ein oder andere Skript zusammengestellt. Jetzt komme ich aber an meine Grenzen. Ich habe in einer Userform eine Listbox, die aus...
  8. VBA-Bestimmte Zelle durch ComboBox Selektion finden und Werte addieren

    in Microsoft Excel Hilfe
    VBA-Bestimmte Zelle durch ComboBox Selektion finden und Werte addieren: Hallo Zusammen, das ist mein erster Eintrag in dieses Forum. Ich habe eine Kostenkalkulation erstellt,innerhalb welcher ich mit einer Userform ermögliche,dass die passenden Kriterien in...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden