我当前的项目是重写一个用98编写的程序。他们的解决方案是在Excel中执行一些操作,在Word中执行下一部分,然后在第3步中返回Excel。该程序同步2个文件,他们的解决方案只是对于需要同步的20个文件的花花公子 - 但是,现在有大约1,000个文件要同步 - 所以我正在努力简化流程。文件的输出范围介于X.X和X.XXXXX之间 - 我用
格式化它们Columns("A:A").Select
Selection.NumberFormat = "0.00000"
使文件更易于阅读。但第二部分是附加一个逗号,然后是关于数字关系的一封信:对于手头的问题不是必需的。当我尝试附加逗号时,Excel会尝试“修复”它并输出错误。例如:
0.42400
0.87200
1.31600
1.75200
变为:
0.424,
0.872,
1.316,
1.752,
什么时候应该留在X.XXXXX。这是我尝试过的:
我真的假设这可以在Excel中完成,我只是找不到解决方案而不是重新打开Word,然后再回到Excel
有什么想法吗?
答案 0 :(得分:1)
您可以插入一列并使用公式。这样的事情应该有效
Dim TotalRows As Long
TotalRows = ActiveSheet.UsedRange.Rows.Count
Columns("B:B").Insert
With Range(Cells(1, 2), Cells(TotalRows, 2))
.Formula = "=LEFT(""'""&A1&REPT(""0"",5),7)"
.Value = .Value
End With
Columns("A:A").Delete
答案 1 :(得分:1)
既然说明了
第二部分是附加一个逗号,然后是一个关于数字的字母 关系
你需要一个公式,而不仅仅是格式化选项。在VBA代码中,选择原始值旁边的单元格,然后添加以下代码行:
Selection.FormulaR1C1 = "=TEXT(RC[-1],""#0.00000"") & "","""
这会为您提供格式和逗号(无论小数点左侧的数字长度) - 但要添加最后一个字母,您显然必须修改公式以满足您的特定需求