所以这是我的问题:我想格式化字符串中找到的数字。 例如:
输入:“ 123.64 ABC”
结果:“ 124 ABC”
或
输入:“ 10.23%ABC”
结果:“ 10%ABC”
我尝试了Google,但似乎所有问题都与提取数字有关,而不是在字符串中设置其格式。我猜想Excel格式工具的输入需要数字类型,因此它们不适用于包含字符串的单元格。那有可能吗?我正在考虑拆分字符串->格式化数字->然后写回字符串。有人可以为此建议解决方案吗?谢谢。
答案 0 :(得分:1)
您可以以此开始
Sub teste()
txt = "123.64 ABC"
pos = InStr(1, txt, " ", vbTextCompare) 'search for space
num = Left(txt, pos - 1) 'get number until space
'in my case i have to replace a "." by "," to be a number, but you have to test what happens in your case
num = Replace(num, ".", ",", 1, 1)
numR = Round(num) ' round number
Final = numR & " " & Mid(txt, pos + 1, 500) ' join round number and rest of string
End Sub
祝你好运
答案 1 :(得分:0)
您可以使用公式而不是VBA。
echo "<script type='text/javascript'>var annulla = window.confirm(Do you Confirm?');</script>";
echo "<script type='text/javascript'>if (annulla){ HERE(RUN PHP FUNCTION Calls)}</script>";
echo "<script type='text/javascript'>if(!annulla) {console.log('don't confirm');}</script>";
function Calls(){// code...}
上表在单元格| | A | B | C |
|---|------------|----|---------|
| 1 | 123.64 ABC | # | 124 ABC |
| 2 | 10.23% ABC | #% | 10% ABC |
和A1
中具有您的原始值。
单元格A2
和B1
包含您要作为该行数字的text format。
单元格B2
包含以下公式:
C1
编辑::需要=TEXT(VALUE(LEFT(A1,FIND(" ",A1)-1)),B1) & MID(A1,FIND(" ",A1),LEN(A1))
,以便在重新格式化之前将10.23%转换为0.1023 ...当我第一次尝试 {{1} }它返回了一个错误,但现在却没有...因此,可能根本不需要VALUE
。 :)