2016-07-05 184 views
1

所以在Excel VBA中,我试图选择一个范围,但每次都选择一个不同的范围。我有一个循环,但我想知道如何实际编写代码来改变范围。这就是单一范围的样子。选择不同的列范围Excel VBA

Range("B7").Select 

有没有办法用整数而不是字符串,如“B7”要做到这一点

Range(i).Select 

我需要它来选择一列。任何意见,将不胜感激。

感谢

+2

'单元格(1)。选择' – xQbert

+0

'单元格([行],[列])'(像'单元格(7,2)'将是B7) –

+1

考虑阅读[this] (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros)。使用'.Select'可能会导致代码头痛。如果您尝试选择整列,@xQbert肯定会起作用。假设你想改变范围,但只是为了遍历一列中的单元格,你可以使用'Range(“B”&i)'' – Kyle

回答

0

好吧,如果你只需要SELCT一个细胞:

Cells(y, x) 

但是,因为你必须选择更多:你想要一个循环

Dim testRange As Range 

    Set testRange = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1, 1), Worksheets("Sheet1").Cells(100, 1)) 

    testRange.Select 'Optional 
    testRange = "If you read this, you are awsome!" 

包括:

Dim testRange As Range 
Dim x as Integer 

    For x = 1 To n 'n = whatever you want 
    Set testRange = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(1, x), Worksheets("Sheet1").Cells(100, x)) 

    testRange.Select 'Optional 
    testRange = "If you read this, you are even more awesome!" 'Fills 100x100 Cells with this text 
    Next x 

我希望这是有帮助:)

0

如果您知道电池是相对于起始行,你可以使用偏移做这样的事情:

dim rng as Range 
dim i as integer 
set rng = range("B7") 
for i=0 to 10 
    rng.offset(0,i).select 
next i 

查找偏移,以了解如何修改这根据你的需求