2016-07-05 262 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 

查找偏移,以瞭解如何修改這根據你的需求