2013-02-12 68 views
1

我有一個下拉列表$C$4,您可以在這裏選擇所需的貨幣(£,€,$)。我正在尋找一段代碼,可以識別工作表內的單元格是否全部是上述內容,並將它們更改爲所選貨幣。貨幣兌換商從一個下拉列表

例如,當前所有單元格都包含美元符號(以會計格式設置),並且您從下拉列表中選擇€,現在所有美元單元格都變爲歐元。

以下代碼適用於A1。但我需要測試包含會計格式的工作表中的所有單元格。 (一些數量的細胞沒有)

Private Sub Worksheet_Change(ByVal Target As Range) 
If Target.Address = "$B$1" Then 
    Select Case Target.Value 
     Case Is = "US Dollars" 
      Range("A1").NumberFormat = "$#,##0.00" 

     Case Is = "British Pounds" 
      Range("A1").NumberFormat = "[$£-809]#,##0.00" 

     Case Else 
      Range("A1").NumberFormat = "general" 
    End Select 
End If 
End Sub 

你的想法,感謝

+0

私人小組Worksheet_Change(BYVAL目標作爲範圍) 如果Target.Address = 「$ B $ 1」,則 選擇案例Target.Value 情況= 「美元」 (「A1」)NumberFormat =「$#,## 0.00」 Case Is =「British Pounds」 範圍(「A1」)。NumberFormat =「[$£-809]#,## 0.00」 案例否則 範圍( 「A1」)。NumberFormat的= 「一般」 最終選擇 結束如果 End Sub' – user1717622 2013-02-12 11:28:39

+0

爲什麼不使用單元格樣式?改變主風格,然後將全部更新。 – brettdj 2013-02-12 12:05:23

回答

0

我現在有兩個重要的幾行寫:

Application.Union(["CPC"], ["heading"], ["final4"], ["single"]).Name = "CombinedRange" 

Range("CombinedRange").NumberFormat= _ 
"_-[$$-1004]* #,##0_ ;_-[$$-1004]* -#,##0 ;_-[$$-1004]* ""-""_ ;[email protected]_ " 

Range("CombinedRange").NumberFormat= _ 
"_-[$$-1004]* #,##0_ ;_-[$$-1004]* -#,##0 ;_-[$$-1004]* ""-""_ ;[email protected]_ " 

Range("CombinedRange").NumberFormat= _ 
"_-[$€-2] * #,##0_-;-[$€-2] * #,##0_-;_-[$€-2] * ""-""_-;[email protected]_-" 

我需要一段代碼,說,如果C4 =」 USD「:範圍(」CombinedRange「)。NumberFormat = $

else if ... c4 =」Euro「;範圍( 「CombinedRange」)。NumberFormat的=€