2014-11-14 117 views
-1

我一直試圖做IF語句和case語句來實現這一點,而且沒有任何東西已經遠程成功。單元格的格式範圍取決於單元格值的特定貨幣

基本上我有一個5選項卡工作簿,每個工作表具有不同的命名範圍,這些選項區域應該是貨幣格式。

但是,根據第一個選項卡中某個單元格的值(例如,它可能是CAD,USD,NOK等),這些單元格區域上的貨幣格式應該改變。

I.e.如果標籤1中的單元格值等於CAD,那麼標籤2-5中的所有命名範圍都應該是「$」,如果USD仍然是「$」,如果NOK「kr」等。

任何幫助都會很大不勝感激!

+0

你能展示你的數據是怎樣的嗎?樣本數據當然! – 2014-11-14 17:18:32

+0

我在這裏附上一個鏈接到我的文件,讓我知道如果有另一種方式直接附加我的文件。 基本上,第一個選項卡中有一個下拉菜單,它將選擇貨幣,然後名稱範圍的NAME1和NAME2應更改爲該貨幣。 https://drive.google.com/file/d/0B1mb0wVkbQcUdm42ZHVZNVFsVzQ/view?usp=sharing – user979226 2014-11-14 17:32:18

回答

0

錄製宏,讓您的貨幣格式的語法和添加到您的IF語句即..

Selection.NumberFormat = "[$kr-414] #,##0.00" 

您也可以考慮使用Case Select而不是多個If小號

+0

我沒有意識到記錄宏實際上會顯示貨幣格式...讓我看看,謝謝,你真是太棒了! – user979226 2014-11-14 17:36:25

0

你可以把這個代碼Tab1表單的代碼。 當A1單元格的值發生變化時,它會觸發您需要的工作表的表格。

Option Explicit 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

Select Case Range("A1").Value 
     Case "CAD" 
     Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$CAD]" 
     Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$CAD]" 
     Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$CAD]" 
    Case "USD" 
     Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$USD]" 
     Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$USD]" 
     Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$USD]" 
    Case "NOK" 
     Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$NOK]" 
     Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$NOK]" 
     Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$NOK]" 
    End Select 

End Sub 
+0

我現在要試一試,謝謝! – user979226 2014-11-14 17:49:57

+0

你試過了嗎? – Golemic 2014-11-15 18:13:11

相關問題