Excel VBA If / ElseIf mit Text und Zahlen ?

Liesi

Cadet 2nd Year
Registriert
Okt. 2012
Beiträge
29
Hallo alle zusammen
Ich habe ein Problem mit VBA Excel 2007
Vielleicht könnt ihr mir ja helfen
Ich möchte gerne eine If und else Bedingung programmieren

es sieht folgendermaßen aus:

Dim tw_1 as Variant

If tw_1 = "x" Then
tw_1 = tw_1
Else
tw_1 = tw_1 * 60
End If


ich schreibe also in meine Excel Zelle (tw_1) entweder den Buchstaben x oder eine Zahl. Und VBA soll dann die Befehle ausführen. Obwohl ich ein x setze ist aber eine Zahl in tw_1 gespeichert.
Meine Befehle werden aber auch nicht ausgeführt.
Bin dankbar für Hilfe
LG
 
Wenn du willst, dass dein Code ausgeführt wird wenn du den Wert einer Zelle änderst musst du den Code in das Worksheet_Change Event einfügen.
Nebenbei ergibt dein Code so leider keinen Sinn, du deklarierst tw_1 und fragst dann dessen Wert ab obwohl du ihn nie gesetzt hast, d.h. in diesem Fall würde immer die Else-Anweisung ausgeführt werden.

Kannst du bitte etwas mehr Infos geben was du genau machen willst?
 
Also ich habe in einem Excel Tabellenblatt eine Zelle mit dem Namen tw_1 definiert
Hier schreibe ich ein x bzw. eine Zeit rein.
Diese Zelle lese ich durch
tw_1 = Worksheets("Input").Range("tw_1")
ein.
VBA soll dann bei x das tw_1 bei x belassen und bei einer zahl, dass Ganze in Minuten umrechnen.
Und wenn ich dann mit der Maus auf tw_1 gehe (ohne zu klicken) steht hier, dass tw_1 mit 6 belegt ist und nicht mit x, welches ich in die zelle geschrieben habe.
 
Zuletzt bearbeitet:
Das ist recht einfach, wie gesagt muss der Code in das Worksheet_Change Event des Arbeitsblattes:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim val As Variant
    
    Application.EnableEvents = False
    val = Worksheets("Input").Range("tw_1")
    If val <> "x" And IsNumeric(val) Then
        Worksheets("Input").Range("tw_1").Value = val * 60
    End If
    Application.EnableEvents = True
    
End Sub
vergiss aber ja das "Application.EnableEvents = False bzw. True" nicht, ansonsten hast du eine Endlosschleife und darfst Excel mit dem Taskmanager schließen
 
das funtioniert nicht, aber vielleicht habe ich auch noche einen anderen Fehler in meinem Qellcode
 
was genau funktioniert nicht? bekommst du fehler? hast du mal versucht den code zu debuggen?
habe es eben bei mir probiert und es funktioniert
 
Zurück
Oben