값이있는 열만 선택하도록 VBA에서이 행을 어떻게 수정합니까?Excel 매크로 (VBA의 범위 개체)에 값이있는 열 선택
Set rng = Range("A1", Range("A65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
내가 바로 CountLarge
특성 때문에 일을하고 있다고 생각하지 않는 것입니다 수십억 세포
내 데이터
값이있는 열만 선택하도록 VBA에서이 행을 어떻게 수정합니까?Excel 매크로 (VBA의 범위 개체)에 값이있는 열 선택
Set rng = Range("A1", Range("A65536").End(xlUp)).SpecialCells(xlCellTypeVisible)
내가 바로 CountLarge
특성 때문에 일을하고 있다고 생각하지 않는 것입니다 수십억 세포
내 데이터
어느 쪽도 아니 당신은의 샘플입니다@SiddharthRout 예 데이터가있는 행만 필요합니다. 나는 그것이 @JMax에서 End (xlToLeft)를 사용하여 지금 작업하고 있다고 생각한다. 셀을 반복하면서, 마지막 행에 도달하면 For Each 루프를 종료 할 수있다. 나는 지금이 일을 할 수도있다. - makerofthings7 14 분 전에이를 위해
은
.SpecialCells
필요하지 않으며 당신이 행을 반복 할 필요가 :
다음
은 샘플 코드 않습니다. 이것은 내가 특정 행의 모든 셀에 데이터가있을 것이라는 점을 가정하고
(시도을 테스트 ) 시트 2에 데이터가 모든 행
Sub Sample()
Dim ws As Worksheet
Dim rng As Range
Dim LastRow As Long, LastCol As Long
Set ws = Sheets("Sheet1")
With ws
LastRow = .Cells.Find(What:="*", After:=.Range("A1"), Lookat:=xlPart, _
LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
LastCol = .Cells.Find(What:="*", After:=.Range("A1"), Lookat:=xlPart, _
LookIn:=xlFormulas, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, _
MatchCase:=False).Column
With .Range("A1:" & Split(Cells(, LastCol).Address, "$")(1) & LastRow)
.AutoFilter Field:=1, Criteria1:="<>"
Set rng = ws.AutoFilter.Range
rng.Offset(1, 0).Resize(rng.Rows.Count - 1).Copy _
Destination:=Sheets("Sheet2").Range("A1")
End With
End With
End Sub
스냅 샷을 복사합니다 이 경우는 없을 것입니다.
@ makerofthings7 : 정확히 무엇을하려고하는지 알고 있다고 생각합니다. 원하는 것을 얻기 위해 루프를 사용할 필요가 없습니다. 그냥 빠른 질문입니다. Cell C10이 값을 가질 수는 있지만 B10은 그렇지 않을 수도 있습니까? -이 경우 싯다 르트 나라 얀 패주 12 분 전
는 우리가 따라 자동 필터 기준을 설정해야합니다.
편집 : 2
다른 방법이 방법은 아래 공백을 눌러 다음
HTH가
나는 가정 :) 결과 범위를 복사하여 데이터를 정렬하는 것입니다 WAY 당신은 vbscript가 아닌 Excel에서 실행되는 VBA를 의미합니까? – brettdj
마지막으로 값이있는 셀을 원한다면 xlConstants 및/또는 XlFormulas와 함께 SpecialCells를 사용해야합니다. 현재 코드는 비어 있지 않은 셀이 아닌 보이는 셀을 찾습니다. 데이터가 어떻게 보이는지 보여주는 예가 도움이 될 것입니다. – brettdj
나는 brettdj에 동의한다. 또한 'Intersect'및/또는 End (xlToLeft) – JMax