【问题标题】:Excel to Uppercase VBA without LoopingExcel到大写VBA没有循环
【发布时间】:2014-01-29 14:54:19
【问题描述】:
Sub Sample()

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

End Sub

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

非常感谢。

【问题讨论】:

  • 我不这么认为。
  • 我也支持@pnuts 的建议。但是,如果您针对特定范围,请尝试我的回答。这与 Sid 所做的相同,他只是通过 [] 快捷方式获得了 Evaluate。 :)

标签: excel uppercase


【解决方案1】:

试试这个:

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 一起使用。刚刚试了一下,效果很好。

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

【讨论】:

    【解决方案2】:

    唯一的方法是尽可能多地放置行数。 Excel 2007 为 1048576

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-26
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多