2014-06-23 2 views
0

그래서 두 줄의 코드가 VBA에있는 열의 맨 아래에 빈 셀을 찾은 다음 포인터를 다음 셀로 반환합니다.루프없이 VBA를 사용하여 열의 첫 번째 빈 셀 찾기

RowPointer = ThisWorkbook.Sheets("Current").Cells(65000, 4).End(xlUp).Row 
If ThisWorkbook.Sheets("Current").Cells(RowPointer, 4).Formula <> "" Then RowPointer = RowPointer + 1 

문제는 위에서 아래로 검색하는 것이므로 마지막 열이 아닌 첫 번째 빈 셀을 찾아야합니다. 루프를 사용하여 열을 통과하는 문제를 해결하는 몇 가지 방법을 보았습니다. 그러나 작업중인 스프레드 시트는 다소 커서 루프를 실행하는 데 시간이 오래 걸립니다. 그래서 내 질문에 첫 번째 빈 셀을 찾으려면 위에서 아래로 열을 검색하는 쉬운 방법은 무엇입니까?

RowPointer = ThisWorkbook.Sheets("Current").Cells(0, 4).End(xlDown).Row 
If ThisWorkbook.Sheets("Current").Cells(RowPointer, 4).Formula <> "" Then RowPointer = RowPointer + 1 
+0

@brettdj는 중복입니까? 'A1 : A10'과'A12-A20'이 비어 있지 않으면 첫 번째 공백 ='A11', 마지막 비어 있지 않은 = A20', 아니요? – Ioannis

+0

@Ioannis 예,'Find'를 사용하여 약간의 변경이 있었기 때문에 (물론 열 질문에서 공백이 아닌 행의 비어 있지 않은 부분에 다시 링크를 만들었지 만 ...) – brettdj

+0

코드 적응 "Set wng = Sheets ("Current ") '에 연결 한 다음'Set rng1 = ws.Columns (4) .Find (" ", ws.Cells (Rows.Count,"D "), xlFormulas, , xlByColumns, xlNext)'첫 번째 공백 결과를 찾을 수 있습니다. – brettdj

답변

0

어쩌면 뭔가 모바일에서 게시 RowPointer = Sheets("Current ").Columns(4).SpecialCells(xlCellTypeBlanks).Cells(1,1).Row

처럼 그래서 나는 그것이 작동하는 희망 :

+1

(1) 특수 셀을 항상 오류 검사와 함께 사용해야합니다. (2) 수식을 공백으로 두지 마십시오. – brettdj

+0

의견을 보내 주셔서 감사합니다! (1)에 대한 제 생각은이 특별한 경우 전체 열이 채워질 때 오류가 반환된다는 것입니다 (오류 포착의 필요성을 논평하지만 실제로는 견고해야합니다). 2) 셀이 빈 모양이 아닌 비어 있어야 함을 알았습니다. – Ioannis

0

이 (난 아직 시도하지 않은)보십시오!

관련 문제