2012-04-27 2 views
4

두 개의 인접한 열에서 모든 행을 선택하고 헤더 아래의 행 (고정 됨)에서 시작하여 빈 행의 첫 번째 행 앞에있는 행으로 끝납니다.Excel : 빈 셀까지 모든 행 선택

주어진 예제에 따라 ...

A  B 
1 Item Amount 
2 Item1 1 
3 Item2 4 
4   2 
5 

내가 범위 A2 선택하고 싶습니다 : B3를. 첫 번째 행은 항상 2 행이며, 마지막 행은 빈 셀이있는 첫 번째 행 앞에있는 행이기 때문에 행 3입니다.

나의 목표는이 선택을 사용하여 현재 마지막 행 아래의 행을 완전히 채운 후 행에 테두리를 자동으로 정렬하고 추가하는 것입니다. 이 예에서는 A4를 채워서 선택 항목의 행 부분을 만들고 위에서 언급 한 작업을 적용해야합니다.

누구든지 나를 도울 수 있기를 바랍니다. 미리 감사드립니다.

편집

나는 크리스 neilsen의 솔루션을 기반으로, 해결책을 마련했습니다

Dim rng As Range 
With Worksheets("YourSheet") 
    Set rng1 = .Range(.Cells(2, 1), .Cells(2, 2).End(xlDown)) 
    Set rng2 = .Range(.Cells(2, 2), .Cells(2, 1).End(xlDown)) 
    Set r = Application.Intersect(rng1, rng2) 

End With 
+1

[매크로가 포함 된 Excel 시트의 데이터가 포함 된 마지막 행을 어떻게 찾을 수 있습니까?] (http://stackoverflow.com/questions/71180/how-cani-i- 마지막 행을 포함하는 데이터를 포함하는 엑셀 시트) - GSerg의 대답을 사용해야합니다. – assylias

+0

답장을 보내 주셔서 감사합니다. 아니, 복제품이 아니야. 빈 셀이있는 첫 번째 행을 찾은 다음 위의 행을 선택 항목의 마지막 행으로 선택해야합니다. 빈 셀이있는 첫 번째 행 아래의 행은 선택되지 않습니다. – Daan

답변

4

시도이

Dim rng as Range 
With Worksheets("YourSheet") 
    Set rng = .Range(.Cells(1,2), .Cells(1,2).End(xlDown)).Resize(,2) 
End With 

변수 rng 지금 A2:B3

로 설정됩니다
+0

감사합니다! 내 원래 게시물을 참조하십시오. – Daan

0

코드를 시도하십시오 :

Sub sample() 
    Dim lastRow As Long 
    lastRow = Range("A65000").End(xlUp).Row 

    Dim rng As Range, newRng As Range 

    Set rng = Range("A2:A" & lastRow) 
    Set newRng = rng.Resize(, 2) 

    If Not newRng Is Nothing Then 
     newRng.Sort key1:=Range("A2") 
    End If 

    newRng.BorderAround xlContinuous, xlMedium, xlColorIndexAutomatic 

End Sub 
0
Set rlast = Columns("A").Find(What:="", After:=Range("A1"), LookIn:=xlValues, SearchDirection:=xlDown) 
MsgBox rlast.Address 

MSGBOX 첫 번째 셀이 비어 반환합니다. . 나중에 선택할 수 있습니다.