2016-04-19 4 views
0

Я хотел бы выбрать диапазон ячеек, используя информацию о строках и столбцах. Идея состоит в том, чтобы выбрать целую колонку и всю строку, а затем сделать выбор перекрывающихся областей. Можно ли это сделать в Excel VBA? The idea visualized hereExcel VBA: как выбрать ячейки, используя строки и столбцы

+0

См. [как спросить] (http://stackoverflow.com)/Помощь/как к спрашивать). – findwindow

ответ

2

Самый простой способ заключается в использовании Cells():

Sub jlkj() 
Dim ws As Worksheet 
Dim StartRow As Long 
Dim EndRow As Long 
Dim StartClm As Long 
Dim EndClm As Long 
Dim rng As Range 

StartRow = 6 
EndRow = 10 
StartClm = 5 
EndClm = 5 

Set ws = Sheets("Sheet1") 
With ws 
    Set rng = .Range(.Cells(StartRow, StartClm), .Cells(EndRow, EndClm)) 
End With 
Debug.Print rng.Address 

End Sub 

Если вы хотите использовать букву столбца, т.е. «Е» вместо числа затем:

Sub jlkj() 
Dim ws As Worksheet 
Dim StartRow As Long 
Dim EndRow As Long 
Dim StartClm As String 
Dim EndClm As String 
Dim rng As Range 

StartRow = 6 
EndRow = 10 
StartClm = "E" 
EndClm = "E" 

Set ws = Sheets("Sheet1") 
With ws 
    Set rng = .Range(.Cells(StartRow, StartClm), .Cells(EndRow, EndClm)) 
End With 
Debug.Print rng.Address 

End Sub 
2

первым сделать свой крест выберите следующий код:

Sub SelectionCrossSection() 
    Dim wRi As Range: Set wRi = Selection 
    Dim wR1 As Range: Set wR1 = wRi.Areas(1) 
    Dim wR2 As Range: Set wR2 = wRi.Areas(2) 
    Dim wRo As Range: Set wRo = Intersect(wR1, wR2) 

    wRo.Select 
End Sub 
+0

Вау, я понял, что это совсем другое, но я вижу, как это правильно. –

+0

Название @ScottCraner OP нечеткое, я бы поддался этому, если бы я не принимал достаточно кофеина сегодня: D – Rosetta

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