2016-05-05 22 views
1

Zweck: Bedingte Formatierung - SchriftgrößeVBA - Bedingte Formatierung (Schriftgröße)

Wenn K19 = "Abschlagszahlung Quelle:" Dann K19 font 10, sonst 12

Wenn K21 = "Betrag" dann K21 font 10, sonst 12.

Versuch:

Option Explicit 
 

 
Private Sub Worksheet_Change(ByVal Target As Range) 
 

 
Set Target = ActiveSheet.Range("K19") 
 

 

 
If Target = "Downpayment Source:" Then 
 
With ActiveSheet.Range("K19").Font 
 
.Name = "Arial" 
 
.Size = 10 
 
End With 
 
Else 
 
With ActiveSheet.Range("K19").Font 
 
.Name = "Arial" 
 
.Size = 12 
 
End With 
 
Exit Sub 
 

 

 
End Sub

Dieser Code funktioniert, aber ich weiß nicht, wie Sie K21 hinzufügen.

Eine andere Idee:

Wenn B3 = "Kauf", dann K19, K21 Schriftgröße 10, sonst 12

Entweder funktionieren würde, ich bin einfach nicht, die mit VBA erlebt.

Jede Hilfe wird sehr geschätzt

+0

'Dieser Code funktioniert' so ändern Sie es auf' B3'? Während es funktioniert, ist es irgendwie gezwungen/überflüssig. – findwindow

+0

Ihre Frage kann auf "Wie verwende ich eine Wenn-Dann-Anweisung" oder "Wie kann ich einen Bereich beziehen sich auf mehrere Zellen?" Suchen Sie nach beiden und Sie werden Ihre Antwort finden. –

+2

Warum setzen Sie Target zurück? –

Antwort

1

Adressen die Möglichkeit, K19 und K21 zu ändern, wenn B3 Kauf wird. Hinweis: Dies wird nur ausgelöst, wenn sich B3 ändert.

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Not Intersect(Target, Range("B3")) Is Nothing Then 
     If Target.Value = "Purchase" Then 
      With ActiveSheet.Range("K19").Font 
       .Name = "Arial" 
       .Size = 10 
      End With 
      With ActiveSheet.Range("K21").Font 
       .Name = "Arial" 
       .Size = 10 
      End With 
     Else 
      With ActiveSheet.Range("K19").Font 
       .Name = "Arial" 
       .Size = 12 
      End With 
      With ActiveSheet.Range("K21").Font 
       .Name = "Arial" 
       .Size = 12 
      End With 
     End If 
    End If 
End Sub