XL宏可以选择具有可变起始行和结束行的范围吗?

时间:2012-10-16 20:19:10

标签: excel vba variables row

我是一线技术人员。宏编码并不陌生,但我的大多数经验都是在WordPerfect宏中。我正在尝试编写一个Excel宏,它将选择并处理一系列文件中的范围。所需范围是一组常量列,但是是一组可变行。静态值标记起始行和结束行,但这些行将随每个数据文件而变化。

我遇到的问题是,当我录制宏时,XL不会记录我的光标移动(Ctrl-Up,Ctrl-Shift-Home等),它会记录我正在处理的绝对单元格地址。由于起始行和结束行将随每个数据文件而变化,因此绝对单元格引用将不起作用。任何人都可以提供关于我如何/应该如何处理的任何提示?

提前致谢, 詹姆斯

2 个答案:

答案 0 :(得分:2)

Dim rng as Range

With ActiveSheet
    'Ctrl+Arrow
    Set rng = .Range("A10000").End(xlUp) 'CTRL+Up arrow
    Set rng = .Range("A1").End(xlDown) 'CTRL+Down arrow
    Set rng = .Range("Z1").End(xlToLeft) 'CTRL+Left arrow
    Set rng = .Range("A1").End(xlToRight) 'CTRL+Right arrow

    'Ctrl+Shift+Arrow
    Set rng = .Range(.Range("A1"),.Range("A1").End(xlDown)) 
    Set rng = .Range(.Range("A1"),.Range("A1").End(xlToRight))

End With

答案 1 :(得分:2)

首先,蒂姆的答案非常简洁 - 你应该知道的另一个很酷的事情是录制一个带有相对参考的宏 - http://support.microsoft.com/kb/213740

您的挑战是当您录制宏时,默认为绝对参考,如果您按下相对参考按钮,您将获得您正在寻找的结果。

希望这也有帮助!