单元格的格式范围取决于单元格值的特定货币
我一直试图做IF语句和case语句来实现这一点,而且没有任何东西已经远程成功。单元格的格式范围取决于单元格值的特定货币
基本上我有一个5选项卡工作簿,每个工作表具有不同的命名范围,这些选项区域应该是货币格式。
但是,根据第一个选项卡中某个单元格的值(例如,它可能是CAD,USD,NOK等),这些单元格区域上的货币格式应该改变。
I.e.如果标签1中的单元格值等于CAD,那么标签2-5中的所有命名范围都应该是“$”,如果USD仍然是“$”,如果NOK“kr”等。
任何帮助都会很大不胜感激!
录制宏,让您的货币格式的语法和添加到您的IF语句即..
Selection.NumberFormat = "[$kr-414] #,##0.00"
您也可以考虑使用Case Select
而不是多个If
小号
我没有意识到记录宏实际上会显示货币格式...让我看看,谢谢,你真是太棒了! – user979226 2014-11-14 17:36:25
你可以把这个代码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
我现在要试一试,谢谢! – user979226 2014-11-14 17:49:57
你试过了吗? – Golemic 2014-11-15 18:13:11
你能展示你的数据是怎样的吗?样本数据当然! – 2014-11-14 17:18:32
我在这里附上一个链接到我的文件,让我知道如果有另一种方式直接附加我的文件。 基本上,第一个选项卡中有一个下拉菜单,它将选择货币,然后名称范围的NAME1和NAME2应更改为该货币。 https://drive.google.com/file/d/0B1mb0wVkbQcUdm42ZHVZNVFsVzQ/view?usp=sharing – user979226 2014-11-14 17:32:18