Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro Wenn-Funktion (Prüfung mehrere Zellen), dann führe aus
#1
Hallo!

Ich hoffe, mir kann Jemand helfen. 

Ich habe eine Tabelle (Tabelle1), in der per Zufall die Zeichen (+, -, /, *) ausgewählt werden.
Diese Zeichen stehen in B1:B10 sowie F1:F10.

Nun soll per Makro-Klick geprüft werden, welches Zeichen in der jeweiligen Zelle (alle 20 Zellen) steht und anschließend eine zufällige Zahl aus der Tabelle2 (A1:A10 für +, B1:B10 für -, C1:C10 für / und D1:D10 für *) ausgewählt werden. 

Diese Auswahl wird dann in A1:A10, C1:C10, E1:E10 und G1:G10 eingetragen.

Ich habe selbst schon etwas versucht, für jede Zelle aber immer einzeln alle 4 Zeichen mit If - Then usw.abfragen, ist ja sehr aufwendig.

Ich suche etwas, wo größere Bereiche (wie B1:B10 und F1:F10) gleichzeitig geprüft bzw.abgefragt werden und anschließend dann die entsprechende Auswahl (aus Tabelle 2) nach den 4 möglichen Zeichen erfolgt.

Ich arbeite an einem Mathematik-Quiz und möchte per Zufall das Operationszeichen auswählen lassen und anschließend dann die jeweiligen Zahlen für die Aufgabe einfügen lassen.

Danke.
Antwortento top
#2
Hallo 

Vielleicht so was in der Art.

Gruss Sevy
Code:
Option Explicit
Sub Füllen()
    If Not Prüfen("B1:B10") Then MsgBox "Fehler in Spalte B"
    If Not Prüfen("F1:F10") Then MsgBox "Fehler in Spalte F"
End Sub
Function Prüfen(myRange As String) As Boolean
    Dim wb1 As Worksheet
    Dim wb2 As Worksheet
    Dim Bezug As Integer
    Dim Zelle As Range
    Prüfen = True
    Set wb1 = ThisWorkbook.Sheets("Tabelle1")
    Set wb2 = ThisWorkbook.Sheets("Tabelle2")
    For Each Zelle In Range(myRange)
        Select Case Zelle.Value
            Case "+": Bezug = 1
            Case "-": Bezug = 2
            Case "*": Bezug = 3
            Case "/": Bezug = 4
            Case Else:
                Prüfen = False
                Exit Function
        End Select
        wb1.Cells(Zelle.Row, Zelle.Column - 1).Value = wb2.Cells(Zelle.Row, Bezug).Value
    Next
End Function
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste