2012-12-16 3 views
0

좋아요, 그래서 저는 hita 벽돌 벽을 가지고 있습니다. 그 벽은 저에게 큰 벽 이었지만, 당신을위한 작은 벽은 제가 내기했기 때문에 도움을 요청하고 있습니다.VBA를 사용하는 Excel 숨기기 행

필자는 다른 행에 대해 110 개의 질문을 사용하는 스프레드 시트를 가지고 있는데, 교황직 직원과 기존 직원이 다음 열에서 Y 또는 N을 대답하도록 요청한 다음이를 약점이나 개발 영역의 다양한 영역에 사용합니다. 그래서 나는 그들을 직업과 훈련 경로로 만들 수있다. 그런 다음 수식을 사용하여 두 번째 탭에서 TAB 1의 Y와 N을 사용하여 빨간색과 녹색으로 차트를 작성합니다. 일반적으로 직원이 기술적으로 강하고 부드러운 기술을 필요로하는지 식별합니다 .
TAB 3에 도움이 필요합니다. Tab 3은 TAB 1에서 응답 할 수있는 N을 해결할 수있는 "제안 된 독서"목록 및 훈련을 받게됩니다. TAB 1은 질문이라고합니다. TAB 2는 CHART TAB 3는 피드백이라고합니다

그래서 TAB 3의 CELL B9에서 내 바보 같은 생각은 ... IF QUESTIONS, C9 = "Y" THEN HIDE FEEDBACK B9입니다.

답변

1

논리 또는 VBA 문자열을 요청하고 있습니까?

로직은 괜찮 및 VBA를 위해 내가 그 또한, 명명 된 범위를 사용할 수

+0

답변 해 주셔서 감사합니다. 나는 VBA에서 정말 쓰레기를 던지다. 이 부분을 어디에 추가할까요? FEEDBACK 탭을 열고 개발자가 되겠습니까? 2010. –

+0

을 사용하여 코드를 추가하고 통합 문서를 Excel에서 사용할 수 있습니다. http://www.contextures.com/xlvba01.html – MarioTheHedgehog

0

입니다 제대로 이해 ..if

Sub HideRows() 

For i = 1 to RowCount 'Change RowCount to however many rows there are in Questions & Feedback 

If Sheets("Questions").Range("B"& i) = "Y" Then 

Sheets("Feedback").Rows(i).Hidden = True 

End If 

Next i 

End Sub 

같은 수 사촌 답변의 일부 경우 여러 행 표시/숨기기 하드 코딩 할 필요가 없다는 것을 의미하므로 명명 된 범위를 편집 할 수 있습니다.

예제 코드가 작동하려면 질문과 동일한 행의 3 번째 열에 명명 된 범위의 "이름"을 써야합니다.

Public Enum HiddenState 
Hidden = 0 
Shown = 1 
Toggle = 2 
End Enum 

Public Sub Toggle(ByVal Name As String, Optional ByVal State As HiddenState = HiddenState.Toggle) 
Dim Row As Variant 
For Each Row In Names(Name).RefersToRange.Rows 
    If State = Toggle Then 
     Row.Hidden = Not Row.Hidden 
    Else 
     If State = Shown Then Row.Hidden = False Else Row.Hidden = True 
    End If 
Next 
End Sub 

Public Sub SetFeedback() 
Dim Index As Integer 
Dim RowCount As Integer 

RowCount = 10 ' Change This 

For Index = 1 To RowCount 
    If Sheets("Questions").Cells(2, Index) = "Y" Then 
     Toggle Sheets("Questions").Cells(3, Index), Hidden 
    Else 
     Toggle Sheets("Questions").Cells(3, Index), Shown 
    End If 
Next Index 

End Sub 

당신이 명시 적으로 숨기고 숨기기 취소 행하려고하면 당신은 새 모듈에이 코드를 추가 할 필요는 HiddenState 비트가 필요하지 않습니다 .