2016-05-05 92 views
1

目的:條件格式 - 字體大小VBA - 條件格式(字體大小)

如果K19 = 「首期來源:」 接着K19字體10,否則12

如果K21 = 「金額:」然後K21字體10,否則12.

嘗試:

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

此代碼有效,但我不知道如何添加K21。

另一個想法:

如果B3 = 「購買」 然後K19,K21字體大小10,其他12

無論是一個會的工作,我只是不與VBA經歷。

任何幫助是極大的讚賞

+0

'This code works' so so it to'B3'?雖然它有效,但它有點強制/多餘。 – findwindow

+0

您的問題可以歸結爲「如何使用If Then語句」或「如何使Range成爲多個單元格?」搜索任何一個,你會發現你的答案。 –

+2

你爲什麼重置Target? –

回答

1

地址改變K19 K21和B3時購買變成的選擇。注意:只有在B3變化時纔會觸發。

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