Ich möchte ein Zeichen durch eine bestimmte Zahl ersetzen. Welche Formel muss ich hierfür eingeben?

Ich möchte ein Zeichen durch eine bestimmte Zahl ersetzen. Welche Formel muss ich hierfür eingeben?

Wenn ich also beispielsweise den Buchstaben „W“ eingebe, möchte ich, dass die Zelle automatisch durch die Zahl 4.000 ersetzt wird, und wenn ich den Buchstaben „B“ eingebe, möchte ich, dass die Zelle durch die Zahl 3.000 ersetzt wird. Wenn ich dann den Buchstaben ändere, möchte ich, dass die Zelle automatisch die neue Zahl eingibt.

Antwort1

Sie können diesen Code versuchen:


Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub

If Target.Columns.Count = 1 Then   

If Target.Value = "W" Then
Target.Value = 4000

ElseIf Target.Value = "X" Then
Target.Value = 5000

ElseIf Target.Value = "Y" Then
Target.Value = 6000

End If
Endif

End Sub

Wie es funktioniert:

  • Drücken Sie entwederAlt+F11.
  • OderRKlicken Sie mit der rechten Maustaste auf die Registerkarte „Tabelle“ und dann im Popup-Menü aufVCode anzeigen.

Sie erhalten das Fenster des VBA-Editors.

  • Copy &Paste diesen Code.

  • Drücken SieCtrl+s zum Speichern.

  • Jetzt drückenAlt+Q, um zum Blatt zurückzukehren.

  • Sobald Sie nun entweder W, X oder Z in Spalte A eingeben, wird dieser Code durch die zugewiesene Nummer ersetzt.

Achtung

  • Sie können weitere Bedingungen hinzufügen.
  • Alphabete und entsprechende Zahlen sind editierbar.
  • Sie können die Spalte mithilfe der Codezeile anpassen.

If Target.Columns.Count = 1 Then

Hier steht 1 für eine beliebige Spalte.

Es sollte auch sein,,

If Target.Columns.Count >= 1 And Target.Columns.Count <= 5 Then

Wenn Sie nur in Spalte A arbeiten möchten, verwenden Sie besser diesen Code.

Private Sub Worksheet_Change(ByVal Target As Range)


If Not Application.Intersect(Target, Me.Range("A:A")) Is Nothing Then

If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub


If Target.Value = "W" Then
Target.Value = 4000


ElseIf Target.Value = "X" Then
Target.Value = 5000

ElseIf Target.Value = "Y" Then
Target.Value = 6000

End If
End If


End Sub

Achtung

  • Dies Me.Range("A:A"))ist editierbar und sollte Me.Range("A:C"))oder Me.Range("A1:A100"))auch.
  • Speichern Sie die Arbeitsmappe unterMAcro aktivieren (.xlsm).

verwandte Informationen