Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Excel VBA中将撇号添加到整个列_Vba_Excel_Long Integer - Fatal编程技术网

在Excel VBA中将撇号添加到整个列

在Excel VBA中将撇号添加到整个列,vba,excel,long-integer,Vba,Excel,Long Integer,我被要求为9000行左右的工作表编写一个宏,该工作表的数字比Excel通常允许的长度要长。为了解决这个问题,我必须在删除连字符或以其他方式清理数据之前,在每个单元格中添加一个引号/撇号,否则Excel即使分类为文本也会缩写数字 除了使用FOR循环并遍历每个单元格之外,还有其他方法可以做到这一点吗?在数组中运行一个循环,同时执行所有的“清理” dim arr as variant, i as long with worksheets(1) arr = .range(.cells(2,

我被要求为9000行左右的工作表编写一个宏,该工作表的数字比Excel通常允许的长度要长。为了解决这个问题,我必须在删除连字符或以其他方式清理数据之前,在每个单元格中添加一个引号/撇号,否则Excel即使分类为文本也会缩写数字


除了使用FOR循环并遍历每个单元格之外,还有其他方法可以做到这一点吗?

在数组中运行一个循环,同时执行所有的“清理”

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

在数组中运行一个循环,同时执行所有的“清理”

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

在数组中运行循环并同时执行所有“清理”。在数组中运行循环并同时执行所有“清理”。声明数组有什么诀窍吗?我在使用您提供的代码时出错。我是否需要将数组声明为字符串,然后在获得长度后将其重拨?糟糕,它应该声明为变量类型。声明数组有什么诀窍吗?我在使用您提供的代码时出错。我是否需要将数组声明为字符串,然后在获得长度后重新对其进行复制?糟糕,它应该声明为变量类型。