没有循环的 Excel 到大写 VBA

标签 excel uppercase

Sub Sample()

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

End Sub

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

非常感谢。

最佳答案

试试这个:

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

[] 只是Evaluate 的简写。使用整个单词没有任何惩罚,也可以与 VBA 一起使用。刚刚尝试过,它有效。

如果这有帮助,请告诉我们。

关于没有循环的 Excel 到大写 VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21434600/

相关文章:

vba - 使用 VBA 在 Excel 2010 中创建参数化 SQL 查询

循环内的Excel VBA复制操作非常慢

arrays - 如何在Excel的vba中初始化多维数组变量

shell - 使用 SED 将特定列小写转换为大写

java - 通过使用while/for循环,如何仅减去用户输入的一行的大写字母?

c# - 使用 C# 将文本数据文件写入 Excel

Excel 公式 - 使用单元格本身提供的条件

javascript - 有没有办法使用 JavaScript 更改字符的默认大写值?

python - 我该如何着手只打印大写锁定的名字的第一个字母以及以下内容?

javascript - 大写第一个字母 - 不能使用 'toUpperCase' (JS)