Clever-Excel-Forum

Normale Version: VBA Wenn Dann
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich möchte mittels VBA folgendes versuchen:

Wenn in Spalte A zB eine 1 steht, sollen an dieser Stelle in Spalte B bestimmte Werte also zB. ein x stehen, wenn in Spalte A eine 2 steht, soll an dieser Stelle in Spalte B ein y stehen usw...

Habe es mit

If Range("A1").Value = "1" Then Range("B1").Value = "x"
End If
If Range("A1").Value = "2" Then Range("B1").Value = "y"
End If

versucht, allerdings kappt das immer nur mit einer Zeile. Ich würde gerne einen kompletten Bereich festlegen, also die ganze Spalte A:A und B:B, erhalte dann aber die Meldung "Typen unverträglich". Bin leider ein absoluter Anfänger und komme hier überhaupt nicht weiter.

EDIT:

Die Anweisung
If Range("A:A").Value = "2" Then Range("B:B").Value = "y"
spuckt den Fehler "Typen unverträglich" aus. Ändere ich den Bereich aber von A:A auf A1, und B:B auf B1, (wie oben beschrieben) funktioniert diese.
Als Anfänger wäre meine Vermutung, eine for-Schleife einzubauen? Bin mir aber nicht ganz sicher wie und ob das das Problem lösen wird.


Gruß,

Aidan
Hallo,

diese Formel: =WENN(A1=1;"x";"y") schreibst du in Zelle B1, dann machst du auf das Ausfüllkästchen unten rechts einen Doppelklick, damit füllt sich die Formel bis an das Ende der Liste aus.
Hallo,

ich würde das ganze gerne mit einem Makro umsetzen, mit der Wenn-Formel habe ich es hinbekommen

Gruß

Hallo,

so:

Code:
Public Sub bbb()
Dim i As Long

With Worksheets("Tabelle1")
   For i = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
       If .Cells(i, "A") = 1 Then
           .Cells(i, "B") = "X"
       ElseIf .Cells(i, "A") = 2 Then
           .Cells(i, "B") = "Y"
       End If
   Next i
End With
End Sub


Gruß Werner