【问题标题】:converting % symbol to string in vba在vba中将%符号转换为字符串
【发布时间】:2016-10-05 16:42:05
【问题描述】:

我的问题很简单: 我要做的就是将“%”符号添加到包含数字数据的单元格中。 这是我写的代码:

Private Sub CommandButton21_Click()

 With Range("B11")
    .Select
    .Value = [B11] & ChrW(U + 37)
End With


End Sub

我得到的结果是数字数据除以 100 并且没有添加 % 符号。我试图用“%”替换 ChrW(U + 37) 但它不起作用。 我对 vba 很陌生,所以我需要我能得到的所有帮助!

【问题讨论】:

  • 将其作为格式,而不是作为值的一部分。
  • @jonrsharpe 所以我需要为 .format 更改 .value 吗?

标签: vba excel


【解决方案1】:

使用Cells(1, 5).NumberFormat = "0.00%"Range("B11").NumberFormat = "0.00%"[B11].NumberFormat = "0.00%" 更改单元格的格式,而不是尝试向数字添加字符。您可能需要将 0.00 更改为适合您需要的任何其他格式类型。

您提到数据是数字的,如果您在计算中使用它,您可能希望保持这种状态,更改格式应该是您的选择。

【讨论】:

  • 请注意,当您将格式从一般更改为百分比时,它会将值乘以 100,因此 1 = 100%。如果单元格中有 10 并希望将其直接转换为 10%,请先将数据除以 100:[d1].Value = [d1].Value / 100[d1].NumberFormat = "0.00%"
【解决方案2】:

使用下面的代码,它已经过测试并且对我来说可以正常工作:

Sub Button1_Click()
    Sheet1.Cells(11, 2).Value = 200
    Sheet1.Cells(11, 2).NumberFormat = "0.00%"
End Sub

【讨论】:

  • 有点晚,发帖前请检查答案
  • 页面没有刷新来检查答案,除了发帖不要伤害所以它不是竞争老兄
【解决方案3】:

关于你的代码,你可能需要这样的东西:

[h6]= cstr([h6].text & ChrW(U + 37))

但是,它只是添加了 H6 的符号。

【讨论】:

  • 这会将您的数据从您必须的数字更改为字符串
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 2014-07-11
  • 1970-01-01
  • 1970-01-01
  • 2020-12-19
  • 1970-01-01
相关资源
最近更新 更多