我一直在努力做IF语句和案例陈述来实现这一目标,但没有任何成功。
基本上我有一个5工作表工作簿,在每个工作表中有不同的命名范围,这些工作簿是货币格式。
但是,根据第一个标签中单元格的值(例如,它可能是CAD,USD,NOK等),这些单元格范围内的货币格式应该会发生变化。
即。如果选项卡1中的单元格值等于CAD,则选项卡2-5中的所有命名范围应为“$”,如果USD仍为“$”,则为NOK“kr”等。
非常感谢任何帮助!
答案 0 :(得分:0)
记录宏以获取您的货币格式语法并添加到您的IF语句,即..
Selection.NumberFormat = "[$kr-414] #,##0.00"
您也可以考虑使用Case Select
代替多个If
s
答案 1 :(得分:0)
您可以将此代码放在Tab1的Sheet代码中。 当A1 Cell更改的值时,它会触发您需要的工作表。
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