2016-11-28 62 views
0

在单元格A1中,我可能使用以下货币之一“EUR”,“USD”或“RON”。 在B1单元格,我有以下的自定义单元格的格式:“EUR” * 0.00“/吨”基于另一个单元格值的自定义货币格式

任何人都可以在告诉我,我怎么能在B1单元格设置格式适应考虑到从价值帮助A1。该代码必须只能在工作簿上运行。打开

预先感谢您!

回答

3

将下列事件宏工作表中的代码区:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim A1 As Range, B1 As Range, BaseFormat As String 
    Dim temp As String 

    Set A1 = Range("A1") 
    Set B1 = Range("B1") 
    BaseFormat = """EUR"" * 0.00""/mt""" 
    If Intersect(A1, Target) Is Nothing Then Exit Sub 
    temp = A1.Value 
    B1.NumberFormat = Replace(BaseFormat, "EUR", temp) 
End Sub 

因为它是工作表的代码,这是非常容易安装和自动使用:

  1. 右键单击该选项卡名称靠近Excel窗口的底部
  2. 选择查看代码 - 这将弹出一个VBE窗口
  3. 粘贴东西并关闭VBE窗口

如果您有任何疑问,请先在试用工作表上尝试。

如果保存工作簿,宏将与其一起保存。 如果您正在使用一个版本的Excel更高然后2003,你必须保存 该文件作为.XLSM而非的.xlsx

要删除宏:

  1. 弹出窗口VBE如上
  2. 清晰的代码进行
  3. 关闭VBE窗口

要了解更多关于一般的宏,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解更多有关事件宏(工作表的代码),请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

宏必须为此工作启用!

(仅在打开工作簿运行此,该工作簿打开宏再断言A1值,然后禁用事件)

+0

非常感谢你加里。它的作品非常漂亮! –