如何应用动态数字格式?

How can I apply dynamic number formatting?

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

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

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

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

上述逻辑的基本版本是:

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

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

做具体的例子:

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

我会留给你概括这个

将此放在您的 Sheet 中,例如 "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