excel - 过滤掉百分比符号

标签 excel vba

我使用的是 Excel 2010,并且有一些代码提示用户输入百分比,然后将单元格 A1 中的值增加该百分比。如果有人遵守规则并输入一个整数百分比,那么它就可以正常工作。因此,例如,如果有人希望该值增加 30%,他们会在输入框中键入 30。

如果有人在回复中添加百分号,就会破坏整个事情。我如何修改此代码,以便它捕获百分比符号并仅根据整数进行计算。谢谢。

Sub Box1()
    Dim myPercent As Integer
    myPercent = InputBox("How much of an increase?", "Input without the percent symbol")
    Range("A1").Value = Range("A1").Value * (1 + (myPercent * 0.01))
End Sub

最佳答案

您可以使用Replace函数去掉任何百分号:

myPercent = Replace(InputBox("How much of an increase?", "Input without the percent symbol"), "%", "")

或者您可以使用 Val 函数忽略第一个非数字字符之后的所有内容:

myPercent = Val(InputBox("How much of an increase?", "Input without the percent symbol"))

关于excel - 过滤掉百分比符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22938710/

相关文章:

vba - 创建包含常量或公式的所有单元格的命名范围?

vba - 我如何在这段代码中实现一个函数,而不是输入一堆 "Or"语句?

Excel - 在 FilterXML 中添加 Excel 公式

excel - 复制串联列并粘贴两次

Php 提高大数据循环的性能

function - 如何在VBA中找到闰年?

vba - 即使 Excel 中存在多条记录,CopyFromRecordset 也仅复制并粘贴前一行

excel - 如何检查字符串(或单元格)中是否包含 kajji 字符?

excel - VBA - 无法设置工作表变量

vba - 如何使用 Range 变量作为子程序参数