2011-10-19 3 views
1

오늘은 매우 힘들며 VBA에서는 매우 새로운 기능입니다. 성공을위한 방법이 아닙니다. 나는 (가로) 범위의 각 셀을 반복하려고하고 셀 안의 텍스트가 거짓이면 그 열을 숨기고 싶다. 이것은 내가 지금까지있어 무엇 :범위를 통한 루핑 및 열 숨기기 VBA

Dim rRange As Range 
Dim rCell As Range 
rRange = Worksheets("Data").Range("W7:AH7").Cells 

For Each rCell In rRange 
     If rCell.Value = "FALSE" Then rCell.Columns.EntireColumn.Hidden = True 
Next rCell 
End Sub 

내가 오류 "개체 변수 또는 설정되지 않은 블록 변수"얻을. 누군가 내가 잘못 가고 있다고 지적 할 수 있겠 니? 감사.

답변

2

사용이

set rRange = Worksheets("Data").Range("W7:AH7").Cells 

If Ucase(rCell.Value) = "FALSE" Then rCell.Columns.EntireColumn.Hidden = True 

변수는 인스턴스를 생성 설정하고, "FALSE"<> "거짓", diferences을 무시 UCASE를 사용할 필요가 개체.

[]의

+0

대단히 감사합니다. 나는 여러분이 Set에 넣어야 만한다는 것을 깨닫지 못했습니다 ... 대문자의 경우에는 셀에 문자 그대로 "FALSE"가 있기 때문에 문제는 아닙니다. 그러나이 모든 것이 이제는 정상적으로 작동하는 것처럼 보이지만 칼럼은 결국 숨겨지지 않습니다. EntireColumn.Hidden = True가 즉시 숨길 것이라고 생각했습니다. 다시 한 번 감사드립니다 – SWilliams

+0

실제로 작동하는 확인, 나는 어리 석다 - 건배! – SWilliams