VBA中使用两个变量选择单元格区域的语法疑问
用两个变量定义VBA单元格区域的正确写法
嘿,这个问题其实很容易解决,你只需要把两个变量分别拼接到区域的起始和结束地址里就行,正确的语法是这样的:
ActiveSheet.Range("$A$" & j & ":$S$" & k)
要是你不需要绝对引用(那些$符号),也可以写得更简洁:
ActiveSheet.Range("A" & j & ":S" & k)
简单解释下逻辑
你之前用单个变量的时候,是把k拼接到了结束行的位置。现在要把起始行换成变量j,只需要把原来的固定行号$1换成$" & j,这样就把j的数值插入到起始行的位置了。冒号还是用来分隔区域的起点和终点,和你之前的写法逻辑完全一致,只是多了一个变量的拼接而已。
比如如果j=5、k=20,这段代码就会选中$A$5:$S$20(或者A5:S20,取决于你用不用绝对引用),和手动输入地址的效果一模一样。
内容的提问来源于stack exchange,提问作者Tim Gilbertson
相关产品推荐
相关产品推荐

