특정 열의 모든 연속 행을 반환하는 작업이 있습니다. 그들은 모두 데이터를 연속적으로 가지며 첫 번째 빈 행은 데이터의 끝을 알릴 것입니다. 나는 이것을 사용하여 컬럼을 찾고이를 내 범위로 전달하지만 구문 오류가 계속 발생합니다.Excel VBA를 사용하여 열만 알려져있는 경우 셀 범위를 반복하는 방법?
Dim Col
Dim found As Boolean
Dim cellRange As Range
found = Cells.Find(What:="My_Search_Text", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
'Take that column as the range.
If (found) Then
Col = ActiveCell.Column
cellRange = ActiveSheet.Range(Col, ActiveSheet.Range(Col).End(xlDown)).Select
목표는 여기 마지막 줄은 전혀 작동하지 않는 일이다 그러나 나는 루프 부분에 아니에요, 그들을 통해 세포와 루프의 정확한 범위를 얻을 수 있습니다.
이 마지막 줄의 올바른 구문은 무엇이며 수행하려는 작업을 수행하는 더 나은 방법이 있습니까?
그런데Set found = Cells.Find(What:="My_Search_Text", After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
, 당신은 할당 할 수 없습니다 및이 방법을 사용하면 VBA 개체를 사용하는 경우
'ActiveCell.Column'은 범위가 아닌 열 번호를 반환합니다. – Excellll
그게 내가 범위를 얻을 필요가 있다고 생각하는 것입니다, 먼저 열을 찾으십시오. –
'Find()'는 범위를 반환하므로'found '선언은 "As Range"이어야합니다. 그리고 Find() 끝에서 ".Activate"를 제거하십시오. 그렇다면'Col = found.Column'을 사용하십시오. –