2016-06-21 2 views
1

열 A : I에 데이터가 있습니다. A 열의 데이터는 항상 마지막 행까지 전달되지만 다른 열의 다른 행은 비어있는 경우가 있습니다. A 열의 마지막 행을 기준으로 범위를 선택하려면 어떻게해야합니까? 예를 들어, 때로는 A 열에 40 행의 데이터가 있지만 3 열 뒤에 I 열이 비어있게됩니다. 여전히 A1 : I40을 선택하려고합니다.열 A를 기준으로 불연속 범위 선택

가 궁극적으로 나는 형식을 지정하고이 범위에 필터를 넣어 VBA를 사용하려면, 그래서 열 A에서 마지막으로 사용 된 행 다음 빈 행을 포함하지 바라고

답변

0

고려 :

Sub qwerty() 
    Dim N As Long 
    N = Cells(Rows.Count, "A").End(xlUp).Row 
    Range("A1:I" & N).Select 
End Sub 
+1

또한 Range ("I1", Cells (Rows.Count, 1) .End (xlUp))'가 가능합니다.) –

+0

고맙습니다. 많은!! 이것은 효과가있다! 여러 번 시도해 보았는데 작동하지 않아 이전에 작동하지 않는 매크로에서 약간의 쓰레기가 있음을 깨달았습니다. – Caroline

0

게리의 학생

어쩌면 당신이 범위 (열 "A : I"기능을 확대에 관심이 전체 열에 적어도 하나 개의 비 빈 셀이 마지막 행을 고려하는 것이 좋습니다 당신에게 해답을 준에 예를 들어), 어떤 열에 관계없이 coul보다 D 사용 :

Function LastRow(sht As Worksheet, columnsStrng As String) As Long 
    With sht 
     With Intersect(.UsedRange, .columns(columnsStrng)).SpecialCells(xlCellTypeConstants) 
      LastRow = .Areas(.Areas.Count).Row 
     End With 
    End With 
End Function 

여기 이것은 데이터가 상수 가정

Option Explicit 

Sub main() 
    Dim ws As Worksheet 

    Set ws = Worksheets("mysheet1") 
    ws.columns("A:I").Resize(LastRow(ws, "A:I")).Select 
End Sub 

그것을 사용하는 방법의 예를 다음 (즉, 실제 셀 내용은 "수식"이 아닙니다. 하지만 쉽게 "수식"데이터를 고려하여 향상시킬 수도 있습니다.

+0

도움을 주셔서 감사합니다. 게리 학생의 답장을 성공적으로 사용할 수있었습니다. – Caroline