Tre*_*and 1 excel vba excel-vba long-integer
我被要求为一个~9,000行工作表编写一个宏,该工作表的编号比Excel通常允许的长.为了解决这个问题,我必须在删除连字符之前为每个单元格添加单引号/撇号或以其他方式清理数据,否则即使将Excel分类为文本,Excel也会缩写数字.
除了使用FOR循环并迭代每个单元格之外,有没有办法做到这一点?
小智 5
在数组中运行循环并同时执行所有"清理".
dim arr as variant, i as long
with worksheets(1)
arr = .range(.cells(2, "A"), .cells(.rows.count, "A").end(xlup)).value2
for i=lbound(arr, 1) to ubound(arr, 1)
arr(i, 1) = chr(39) & replace(arr(i, 1), chr(45), vbnullstring)
next i
'optional text format for cells
'.cells(2, "A").resize(ubound(arr, 1), ubound(arr, 2)).numberformat = "@"
.cells(2, "A").resize(ubound(arr, 1), ubound(arr, 2)) = arr
end with
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
343 次 |
| 最近记录: |