2016-07-05 5 views
1

Так что в excel vba я пытаюсь выбрать диапазон, но каждый диапазон. У меня цикл, но мне было интересно, как я на самом деле напишу код, чтобы изменить диапазон. Это то, что было бы похоже на один диапазон.Выберите различные диапазоны столбцов Excel VBA

Range("B7").Select 

Есть ли способ сделать это с целыми числами вместо строк, таких как «B7»

т.е.

Range(i).Select 

мне это нужно, чтобы выбрать один столбец. Любой совет будет принят во внимание.

Благодаря

+2

'Столбцы (1) .Выберите' – xQbert

+0

для отдельных ячеек. Ячейки ([строка], [столбец])' (например, «Ячейки (7, 2)» будут B7) –

+1

Рассмотрите возможность чтения [ (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 

Посмотрите на смещение, чтобы узнать, как изменить это в соответствии с вашими потребностями

Смежные вопросы