Leah는 매크로가 할당 된 플로팅 버튼을 원합니다. 따라서 그녀가 왼쪽, 오른쪽, 위 또는 아래로 이동할 때 버튼은 작업중인 셀 근처에 유지됩니다. Leah는 Excel에서 이러한 버튼을 추가하는 방법이 있는지 궁금합니다.

단추의 위치를 ​​제어하기 위해 매크로를 사용하지 않고는이 작업을 수행 할 수 없습니다. (이미 통합 문서에서 플로팅 버튼이 트리거하는 매크로를 하나 이상 사용하고 있기 때문에 큰 문제는 아닙니다.)

이를 수행하는 방법에 대한 세부 사항을 시작하기 전에이 접근 방식을 정말로 사용하고 싶은지 고려해야합니다. 예를 들어 매크로를 바로 가기 키나 빠른 실행 도구 모음의 단추에 할당 할 수 있습니다. 두 방법 모두 플로팅 버튼의 위치를 ​​지속적으로 변경할 필요가 없습니다.

확실히 버튼 경로로 가고 싶다면 화면상의 버튼을 만들고 매크로에 연결하십시오. 그런 다음 선택한 셀을 변경할 때마다 단추의 위치를 ​​변경하는 이벤트 처리기를 만듭니다. 예를 들어 버튼의 이름이 “버튼 1″이라고 가정 해 보겠습니다. 이 경우 다음 매크로를 사용할 수 있습니다.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With ActiveSheet.Shapes("Button 1")

.Top = Target.Offset(1).Top         .Left = Target.Offset(, 1).Left     End With End Sub

이것은 이벤트 처리기이므로 적용 할 워크 시트의 코드 창에 배치해야합니다. 그러면 버튼이 항상 선택된 셀의 오른쪽 하단 모서리 근처로 이동됩니다.

또한 매크로 단추를 만들 수있는 방법에는 Active X 컨트롤 또는 레거시의 비 Active X 컨트롤의 두 가지 방법이 있습니다. 위의 접근 방식은 기존 유형의 버튼을 사용하는 경우 유용합니다. 그러나 Active X 컨트롤을 사용하는 경우 매크로를 조금만 변경하고 싶을 것입니다.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With ActiveSheet.OLEObjects("CommandButton1")

.Top = Target.Offset(1).Top         .Left = Target.Offset(, 1).Left     End With End Sub

참조되는 개체 만 변경됩니다. 적절한 이벤트 핸들러를 사용하면 화면에서 선택한 셀을 변경할 때마다 버튼 위치가 선택한 셀의 오른쪽 하단으로 변경됩니다. 따라서 진정한 “부동”이 아닙니다

항상 같은 위치에있는 버튼입니다. Leah의 상황에서는 버튼이 자신이보고있는 셀 (예 : 스크롤 막대를 사용하여 스크롤 할 때)이 아니라 작업중인 셀 (선택한 셀) 근처에 있기를 원했기 때문에 괜찮습니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13544)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.