如何应用动态数字格式?

时间:2019-09-09 13:29:15

标签: excel vba number-formatting

我已经为我的加密货币投资组合编写了一个Excel文档。我在表中添加新货币,并通过API将数据提取到该表中以获取价格。我将结果的格式设置为:#。## 0,00000000 [$ ETH](以太坊)。

我想要实现的是,当我在A列中输入货币时,B列中的值被格式化为该货币。

示例:http://prntscr.com/p3sof8

因此,如果我在A5中输入XRP,则B5中的值将为0,00000000 XRP。 我没有固定数量的货币,因为我可能每天都会添加新货币。

上述逻辑的基本版本为:

将A列中的货币输入格式参数,例如:#。## 0,00000000 [$],但BTC的格式应为:฿0.00000000

2 个答案:

答案 0 :(得分:1)

将其放置在工作表中,例如“ Sheet1”

Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If .Count = 1 Then
            If .Column = 1 Then
                If .Value <> "BTC" Then
                    .Offset(, 1).NumberFormat = "0.00000000" & """ " & .Value & """"
                Else
                    .Offset(, 1).NumberFormat = """" & ChrW(&HE3F) & """" & "0.00000000"
                End If
            End If
        End If
    End With
End Sub

答案 1 :(得分:0)

无需使用VBA。您可以使用条件格式来做到这一点。

要做具体的例子:

  1. 转到单元格B5
  2. 点击Conditional Formatting> New Rule...
  3. 选择Use a formula to determine which cells to format
  4. =$A$5="XRP"
  5. 用作公式
  6. 单击格式,然后在数字选项卡上将其设置为自定义,例如#.##0,00000000 [$XRP]

我将由您自己来概括一下