2012-10-12 4 views
3

간단한 매크로 버튼을 실행하는 방법과 관련하여 사소한 문제가 있습니다. 이 버튼의 목적은 행을 확장하고 행을 접는 것입니다. 이 VBA 명령 개시 버튼 누름에VBA 동일한 매크로 버튼으로 행을 확장/축소합니다.

1 :

Sub Macro7() 

Rows(7).ShowDetail = True 

End Sub 

이 명령 확장을 (로우가 팽창하는 동안) 버튼을 다시 누르면에 행 제

2 , 이 VBA가 시작됩니다.

Sub Macro7() 

Rows(7).ShowDetail = False 

End Sub 

이렇게하면 행이 축소됩니다.

버튼을 두 매크로에 연결하는 방법이 있습니까?

미리 감사드립니다.

m

답변

4

필요가 없습니다. 그냥 (축소 또는 확대)하여 행의 현재 상태를 확인하기 위해 매크로를 조정하고 그에 따라 행동 :

Sub ExpandOrCollapse() 

Rows(7).ShowDetail=IIF(Rows(7).ShowDetail,False,true) 

End Sub 
+0

감사합니다. – user1717622

+0

문제 없습니다. 기분이 들었을 때 대답을 수락하는 것을 잊지 마십시오 : http://stackoverflow.com/faq#howtoask – nutsch

0

을 내가 답변 위의 노력이

Dim rowExpanded As Boolean 
rowExpanded = Rows(7).ShowDetail 

If rowExpanded = True Then 
    Rows(7).ShowDetail = False 
Else 
    Rows(7).ShowDetail = True 
End If 
6
Sub Macro7() 
    With Rows(7) 
     .ShowDetail = Not .ShowDetail 
    End With 
End Sub 
2

을 시도하고 작동하지 않았다 나를 위해. 다음은 작동하는 코드입니다.

Sub rowExpanded() 

Rows("7:7").Select 
Selection.EntireRow.Hidden = IIf(Selection.EntireRow.Hidden, False, True) 

End Sub 
0

명령 단추 (ActiveX 컨트롤)를 사용해보십시오. 단추 캡션을 사용하여 토글 상태를 식별하십시오.

Private Sub CommandButton1_Click() 

    If CommandButton1.Caption = "-" Then 
     ActiveSheet.Outline.ShowLevels Rowlevels:=1, ColumnLevels:=1 
     JobDescriptionToggleButton.Caption = "+" 
    Else 
     ActiveSheet.Outline.ShowLevels Rowlevels:=8, ColumnLevels:=8 
     JobDescriptionToggleButton.Caption = "-" 
    End If 

End Sub