2016-04-19 20 views
0

行と列の情報を使用してセルの範囲を選択したいと思います。アイデアは、列全体と行全体を選択し、重複領域を選択することです。 Excel VBAでこれを行うことは可能ですか?最初にあなたのクロスを作るExcel VBA:行と列を使用してセルを選択する方法

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 
+0

[参照する方法](http://stackoverflow.com/help/how-to-ask)。 – findwindow

答えて

2

最も簡単な方法は、Cells()を使用することですセクションの選択を行い、次のコードを実行します。

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 
2

:あなたは列の文字、すなわち「E」の代わりに、その後数を使用したい場合は

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 

The idea visualized here

+0

うわー、私はそれを完全に違って理解しましたが、これが正しい理解であるかどうかを見ることができます。 –

+0

@ScottCraner OPのタイトルはあいまいです。私は今日も十分なカフェインを取っていなかったので、それにも負けてしまいました:D – Rosetta

関連する問題