范围名称中的VBA,&符号和循环

时间:2016-05-27 05:05:32

标签: excel vba

不确定如何说得好但是for循环如何在范围名称中起作用?什么是正确的惯例?例如。我理解以下是如何工作的:

For i = 1 to 3
Sheets("1").Range("A1:B" & i).......
Next i

但是,如果我希望它也适用于A列 - 那么正确的惯例是什么?似乎无法找到一个有效的

e.g。类似下面的内容

For i = 1 to 3
Sheets("1").Range("A" & i ":B" & i).......
Next i

澄清

抱歉 - 我应该澄清我的问题

我不是在寻找一个循环,我只想在A列中包含一个定义的整数

e.g。

Sheets("1").Range("A" & i :B3")
如果这有意义吗?

4 个答案:

答案 0 :(得分:2)

可能更清楚地做一个范围调整大小并一次性输入值:

i = 3
Sheets("1").Range("A1").Resize(i, 2).Value = "Test"

答案 1 :(得分:0)

在第一个Array( 'name'=>'test', 'email'=>'test@test.com', 'dob'=>'1990-01-01', 'E'=>Array( 'problemname'=>'test', 'problemtitle'=>'hello', 'status'=>'1', ... 'M'=>Array( 'details'=>'test', 'address'=>'hello', 'status'=>'1', ... ) ) ) 之后,您在&行中缺少一个Sheets("1").Range("A" & i ":B" & i)。请使用此:i

------------老回答------------------
如果你想遍历Range中的所有单元格(" A1:B3")你可以使用它:

Sheets("1").Range("A" & i & ":B" & i).Value = "Test"

此循环将如下进行:A1,B1,A2,B2,A3,B3。希望这会有所帮助。

答案 2 :(得分:0)

您可能应该从Range("A1:B2")切换到Range(Cells(1,1),Cells(2,2))

答案 3 :(得分:0)

为了在VBA中澄清,一个字符串由双引号字符分隔,例如

 "hello"
 "world"

要将字符串连接在一起,请使用&符号,所以

 "hello" & " " & "world"

连接字符串在技术上称为字符串连接。

根据您的问题,可以加入变量评估,如果i = 1则

 "hello" & i & "world"

输出hello1world

Range方法返回的范围是单个单元格Range("A1")或多个单元格Range("A1:B1")

只需用双引号开始和结束字符串,并在表达式的组件之间使用&符号,所以答案就是

Sheets("1").Range("A" & i & ":B3")