我的目标是删除整个工作表中的一些空格。下面的代码有效,但也使一些数字失去逗号,使数字错误。
Sub Deletespaces()
Dim cell As Range
For Each cell In ActiveSheet.UsedRange
cell.Value = Replace(cell.Value, Chr(160), "")
Next
End Sub
对于大于1.00的每个数字,代码都会将,
删除。
我该如何更正我的代码以保持逗号
答案 0 :(得分:0)
等等,我想我的第一个评论是问题所在……
您希望小数位没有小数位并且它们之间没有空格?
For i = top to bottom 'define these
Cell(i,"BI").value = Cell(i,"BI").value*1000
Next i
Columns("BI").Numberformat = "###0"
乘以1k,因为您有3个小数位。
为乘以1k添加非循环替代:
dim rng as range
set rng = range(cells(top,"BI"),cells(bottom,"BI")) 'define top and bottom
rng = Evaluate(rng.address & "*1000")
rng.Numberformat = "###0"
如果我的理解正确,那么您将离开:
Old | New
1.652 | 1652
0.903 | 903
0.816 | 816
如果您希望前导0,则可以使用rng.Numberformat = "0000"
进行格式化,它看起来像:
Old | New
1.652 | 1652
0.903 | 0903
0.816 | 0816
答案 1 :(得分:0)
我认为如果单元格包含数字,则不应执行此替换操作,因为“替换”可用于字符串,并且“单元格的值”是根据许多规则设置格式的,具体取决于您所在的位置。
因此,我认为您只应对包含字符串的单元格执行此操作。为此,我在代码中添加了一个“如果”:
<Router>
<Switch>
<Route path={"/panel"} exact render={() =><span>Panel Page</span>}/>
<Route path={"panel/link1"} exact render={() => <h1>Link1 is OPEN</h1>}/>
<Route render={() => <h1>Not Found!</h1>}/>
</Switch>
</Router>
注意:我认为其他值类型不能包含不可中断的空间。