2014-04-04 2 views
0

상단에 탐색 단추가있는 넓은 Excel 시트가 있습니다. 버튼을 클릭 할 때 관련된 열로 건너 뛰거나 왼쪽에 열을 숨기면 원하는 데이터가 스크롤없이 표시됩니다.Excel 탐색 단추를 맨 위에 표시하는 동안 프로그래밍 방식으로 열을 숨기는 방법

그러나 이러한 열이 데이터를 포함하기 때문에 단추가있는 열이 축소되거나 숨겨 질 수 있습니다. 따라서 사용자가 버튼을 클릭하여 오른쪽 끝에있는 섹션으로 이동하면 버튼이 보이지 않게되거나 커서가있는 열과 함께 축소 (숨김)됩니다.

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 1) 열을 축소하고 표시된 섹션 위에있는 모든 버튼을 움직입니까? 2) 해당 열로 하이퍼 링크하여 단추를 가져와야합니까? 3) 열을 접을 때에도 계속 유지되는 상단의 그룹 또는 섹션을 고정하는 방법이 있습니까? 3) 내가 생각하지 못했던 다른 것?

저는 Access와 VBA에 대해서는 잘 알고 있지만 Excel에는 익숙하지 않습니다. 따라서 넓은 시트를 가지고있을 때이 방법이 처리 된 방법이 많이 있습니다. 어떤 도움을 주시면 감사하겠습니다.

+0

나는 이해할 수 없다 - 내가 열 B에있는 나의 시트에 버튼을 가지고 있고 그것이 나를 AZ 열로 데려가는 것을 클릭한다고 가정 해보자. 물론이 버튼은 화면 왼쪽에서 벗어난 B 열에 있기 때문에 더 이상 볼 수 없습니다. 어떻게 그 일을하려고합니까? 또는 귀하의 질문에 "어떻게하면 그 일을 할 수 있습니다", 나는 당신이 시트에 상관없이 팝업 수 있기 때문에 탐색을 할 userform을하는 것이 좋습니다 것입니다. – Blackhawk

답변

0

버튼의 옵션은 Don't move or size with cells입니다. 이는 분명히보기가 어둡지 만 도움이되지 않을 경우 접히는 열에 도움이됩니다.

다음 방금 hideAtoC 또는 컨트롤을 이동

hideDtoR 더 컨트롤의 수에 따라 복잡해진다 즉 해당 모듈에 버튼을 첨부 그런

Sub hideAtoC 
    column_hider "A", "C" 
End Sub 

Sub hideDtoR 
    column_hider "D", "R" 
End Sub 

Sub column_hider(first_column,last_column) 
    Sheet1.Columns.Hidden = False 
    Worksheets("YOUR WORKSHEET NAME").Range(first_column & ":" & last_column).EntireColumn.Hidden = True 
End 

작동합니다 열을 축소 할 수 있지만, 이것은 몇 가지 명백한 수정과 함께 작동합니다

Sub moveWithMe 
    With Worksheets("YOUR WORKSHEET NAME") 
     .Cells(1,"BA").Select 
     .Shapes(1).Left = ActiveCell.Left 
    End With 
End Sub 

이것은 매우 간단한 예제는 셀을 선택한 다음 버튼을 셀과 정렬하는 것입니다. 더 복잡하고 버튼 폭에 대한 오프셋이 필요할 것입니다. 개념적 루프가 있습니다 (셀이 왼쪽에서 가장 눈에 잘 띄는 열) 그러나 당신은 아이디어를 얻는다

Dim offset As Long 
offset = ActiveCell.Left 
For i = 1 To Sheet1.Shapes.Count 
    Sheet1.Shapes(i).Left = offset - (Sheet1.Shapes(i).Width/2) 
    offset = offset + Sheet1.Shapes(i).Width + 10 
Next i 
관련 문제