VBA에서 비어있는 셀과 비어 있지 않은 셀을 검사하는 기능이 있습니다.Excel VBA에서 런타임 오류 91
Object variable or With block Variable not set
Set rng = main.Range(rng1 & [rng2].Find("*", , , , , xlPrevious).Row)
하지만 그것을 실행하는 경우, 그렇지 않은 때때로 :이 줄은 오류를 반환
If toCheckBlanks("O23:O", Range("O23:O32")) Then exit sub
:
Function toCheckBlanks(rng1 As String, rng2 As Range)
Dim iBlank&, iNonBlank& '& declare variables as long
Set main = ThisWorkbook.Sheets("Main")
Dim rng As Range
Set rng = Nothing
Set rng = main.Range(rng1 & [rng2].Find("*", , , , , xlPrevious).Row)
With WorksheetFunction
iNonBlank = .CountA(rng) 'count non-blank
iBlank = .CountBlank(rng) ' count blank
End With
If iBlank > 0 Then
toCheckBlanks = True
End If
Set rng = Nothing
End Function
나는 이런 식으로 사용하려고했습니다 오류가 있으며 다른 경우에는 오류가 발생합니다. 머리가 위로 향하고 있습니까?
가 왜 평가 괄호 안에'rng2'을해야합니까? 왜 그냥'Set rng = main.Range (rng1 & rng2.Find ("*",,, xlPrevious) .Row)'를 사용하지 않을까요? – YowE3K
@ YowE3K 나는 또한 그것을 시도했다. 여전히 같은 오류를 반환합니다. 고마워요 :) – ramj
세포'O23 : O32'에 뭔가 있어요? '.Find'가 아무 것도 찾지 못하면'Nothing'을 반환합니다. – YowE3K