设置一个variables来改变单元格的格式
前一阵子我做了这个macros,看起来好像有效,但现在不行。
它现在说细胞E26是空的,但实际上在细胞中有GBP。
范围(“G9”)等数字是我想添加一个英镑,当单元格E26有英镑。
Dim E26 If E26 = "GBP" Then Range("G9:G22:G24:G26").NumberFormat = "$#,##0.00" ElseIf E26 = "EUR" Then Range("G9:G22:G24:G26").NumberFormat = "[$€-2] #,##0.00" ElseIf E26 = "USD" Then Range("G9:G22:G24:G26").NumberFormat = "[$$-409]#,##0.00" End If
E26
variables是空的,因为你没有填充它,你需要像E26 = ...
这样的东西!
我将variables的名称改为E26val
以便看到不同之处:
Dim E26val As String With Sheets("Sheet1") E26val = .Range("E26").Value With .Range("G9:G22:G24:G26") Select Case E26val Case Is = "GBP" .NumberFormat = "$#,##0.00" Case Is = "EUR" .NumberFormat = "[$€-2] #,##0.00" Case Is = "USD" .NumberFormat = "[$$-409]#,##0.00" Case Else 'Nothing End Select 'E26val End With '.Range("G9:G22:G24:G26") End With 'Sheets("Sheet1")
我还添加了对工作表的引用,以便知道在哪张工作表上工作:
With Sheets("Sheet1")
更改为您的工作表的名称,或者如果您希望它工作活动工作表,请将其更改为With ActiveSheet
! ;)
总而言之,完全符合你的Range
。
此外,您的代码是“ Select Case
尖叫”。
试试下面的代码:
Option Explicit Sub CurrencyUsed() ' modify "Sheet1" with your sheet's name With Worksheets("Sheet1").Range("G9:G22:G24:G26") Select Case Worksheets("Sheet1").Range("E26").Value Case "GBP" .NumberFormat = "$#,##0.00" Case "EUR" .NumberFormat = "[$€-2] #,##0.00" Case "USD" .NumberFormat = "[$$-409]#,##0.00" End Select End With End Sub