Excel XL宏能否选择具有可变起始行和结束行的范围?

Excel XL宏能否选择具有可变起始行和结束行的范围?,excel,vba,variables,row,Excel,Vba,Variables,Row,我是一名一线技术人员。对宏编码并不陌生,但我的大部分经验都是在WordPerfect宏中。我试图编写一个Excel宏,它将选择一系列文件中的一个范围并对其进行操作。所需的范围在一组恒定的列中,但在一组可变的行中。静态值标记起始行和结束行,但这些行随每个数据文件的不同而不同 我遇到的问题是,当我录制宏时,XL不会记录光标的移动(Ctrl-Up、Ctrl-Shift-Home等),它会记录我正在处理的绝对单元格地址。由于每个数据文件的起始行和结束行都不同,因此绝对单元格引用将不起作用。有人能给我一些

我是一名一线技术人员。对宏编码并不陌生,但我的大部分经验都是在WordPerfect宏中。我试图编写一个Excel宏,它将选择一系列文件中的一个范围并对其进行操作。所需的范围在一组恒定的列中,但在一组可变的行中。静态值标记起始行和结束行,但这些行随每个数据文件的不同而不同

我遇到的问题是,当我录制宏时,XL不会记录光标的移动(Ctrl-Up、Ctrl-Shift-Home等),它会记录我正在处理的绝对单元格地址。由于每个数据文件的起始行和结束行都不同,因此绝对单元格引用将不起作用。有人能给我一些提示,说明我可以/应该如何处理这个问题吗

提前感谢,,
James

首先,Tim的回答非常简洁-你应该知道的另一件很酷的事情是记录一个带有相对引用的宏-

您面临的挑战是,当您录制宏时,它默认为绝对引用,如果您按下相对引用按钮,您将得到您想要的结果


希望这也有帮助

太棒了!谢谢蒂姆,你真厉害!谢谢约翰,也很有帮助!绝对需要这个信息。
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