Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.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,无循环_Excel_Uppercase - Fatal编程技术网

Excel转换为大写VBA,无循环

Excel转换为大写VBA,无循环,excel,uppercase,Excel,Uppercase,您好,对于由提供的上述代码,是否可以将20更改为一个变量,例如工作表中的最后一行 非常感谢。唯一的方法是尽可能多地放行。对于Excel 2007,将是1048576请尝试以下操作: Sub Sample() [A1:A20] = [INDEX(UPPER(A1:A20),)] End Sub []只是评估的简写。使用整个单词没有任何惩罚,也可以与VBA一起使用。刚试过,效果不错 让我们知道这是否有帮助。我不认为这种技术有帮助。我也支持@pnuts的建议。但是如果你的目标是一个特定的

您好,对于由提供的上述代码,是否可以将20更改为一个变量,例如工作表中的最后一行


非常感谢。

唯一的方法是尽可能多地放行。对于Excel 2007,将是1048576

请尝试以下操作:

Sub Sample()

    [A1:A20] = [INDEX(UPPER(A1:A20),)]

End Sub
[]
只是
评估
的简写。使用整个单词没有任何惩罚,也可以与VBA一起使用。刚试过,效果不错


让我们知道这是否有帮助。

我不认为这种技术有帮助。我也支持@pnuts的建议。但是如果你的目标是一个特定的范围,试试我的答案。这与Sid所做的相同,他只是通过
[]
快捷方式进行
评估
:)
Sub UpperCase()

    Dim TargetRng As Range, LastRow As Long
    LastRow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
    Set TargetRng = Sheet1.Range("A1:A" & LastRow)

    TargetRng = Evaluate("INDEX(UPPER(" & TargetRng.Address & "),)")

End Sub