260 Aufrufe
Gefragt in Tabellenkalkulation von jonesm Mitglied (191 Punkte)

Hallo zusammen!

Über Target Offset befülle ich eine Tabelle. Wenn in Spalte A ein Eintragung gemacht wird, wird in Spalte C der Name und in Spatle D eine weiter Eintragung gemacht. 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("a:a")) Is Nothing Then
    Else
        Target.Offset(0, 2).Value = Application.UserName
        Target.Offset(0, 3).Value = "grün"
        End If
End Sub

Wie muss der Code ausssehen, wenn ich in Spalte D eine Eintragung in Abhängigkeit der Spalte A machen möchte. Also, z.B. in Spalte A steht "gr", dann soll in D "grün" stehen, bei "ro" dann "rot" etc. 

Entweder die Liste wird im Code selbst gepflegt oder ich kann auch eine Hilfstabelle aufbauen

A B C D
gr grün
ro rot
... ...

Kann mir jemand weiter helfen?

Viele Grüße

Thomas

1 Antwort

+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Thomas,

das kannst du z.B. so machen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strC As String
      
If Not Intersect(Target, Range("a:a")) Is Nothing Then
    
  Target.Offset(0, 2).Value = Application.UserName
        
  'hier Zuweisung Kürzel zu Farbe - beliebig erweiterbar
  Select Case Target.Value
    Case "gr"
      strC = "grün"
    Case "ro"
      strC = "rot"
    Case "we"
      strC = "weiß"
    'für alle anderen Werte
    Case Else
      strC = "unbekannte Farbe"
  End Select
        
  Target.Offset(0, 3).Value = strC
        
        
End If
End Sub

Gruß

M.O.

...