从变量定义的范围中获取单元格值

时间:2013-12-29 23:01:45

标签: excel vba excel-vba

我有一段相当简单的代码。 我想要做的就是通过定义一个范围来遍历一个名为Main的工作表 其中值来自另一个工作表上的2个单元格 xStart是起始行, xLast是结束行

我遇到了语法问题,提取下面的代码

================================================================= 
xStart = Sheets("Repeats").Range("A5:A5").Value
xLast = Sheets("Repeats").Range("A3:A3").Value

For x = xStart To xLast

xRange = "S" & xStart & ":S" & xLast

 ' Sheets("Repeats").Range("Q1").Value = "R" & x
 ' Sheets("Repeats").Range("R1").Value = x

xc = Sheets("Main").Range(xRange).Value
--------------------------------------- 
(The line above throws an error)

MsgBox "Range is " & xRange
MsgBox "Cell is " & xc

Next x
========================================================= 

可能只是一个简单的语法问题,但任何帮助非常感谢

1 个答案:

答案 0 :(得分:0)

这取决于您想要如何遍历Range,但有一种方法是:

Dim c As Range ' or Cell
For each c in Range("S" & xStart & ":S" & xLast)

xc = c.Value

Next c

目前,您一直将xRange定义为相同的Range,因此它永远不会更改。如果它们真的都在同一列中,那么使用

xRange = "S" & x