VBA에서 새 옵션 버튼을 정확하게 배치

VBA에서 새 옵션 버튼을 정확하게 배치

VBA 또는 매크로에서 새 옵션 버튼의 위치를 ​​정확하게 지정하고 크기를 조정하는 방법이 있습니까?

내가 사용하는 코드는 워크시트 내에서 현재 선택된 셀에 새 옵션 단추를 삽입합니다.

그런 다음 코드를 다시 실행하면 첫 번째 버튼 바로 위에 두 번째 버튼이 삽입됩니다.

또한 옵션 단추 크기를 선택한 셀의 크기로 설정합니다.

내가 할 수 있어야 하는 것은 새 옵션 버튼을 삽입할 셀(F15)을 코드 내에 명시하고 버튼의 정확한 크기와 왼쪽/오른쪽 및 위/아래 위치를 설정하는 것입니다.

이는 옵션 버튼이 항상 동일한 셀, 동일한 위치, 동일한 크기로 삽입되도록 하기 위한 것입니다.

이것이 가능합니까?

새 옵션 버튼을 생성/삽입하는 코드는 다음과 같습니다.

Sub AddOptionButton()
    With ActiveSheet.OptionButtons.Add(Selection.Left, Selection.Top, 
Selection.Width, Selection.Height)
        .Name = "NewOptionButton"
        .Caption = "Green"
    End With
End Sub

답변1

일반적으로 코드에서 선택 항목을 사용하지 않는 것이 좋습니다.

변수에 범위를 할당하고 그 안에 버튼을 배치할 수 있습니다.

Sub AddOptionButton()
    Dim myRange as Range

    Set myRange = Range("C3")
    With ActiveSheet.OptionButtons.Add(myRange.Left, myRange.Top, myRange.Width, myRange.Height)
        .Name = "NewOptionButton"
        .Caption = "Green"
    End With
End Sub

그러나 범위를 함수에 전달하는 것이 더 나을 수도 있습니다.

Function AddOptionButton(myRange as Range)
    With ActiveSheet.OptionButtons.Add(myRange.Left, myRange.Top, myRange.Width, myRange.Height)
        .Name = "NewOptionButton"
        .Caption = "Green"
    End With
End Function

다음 위치 어디에서나 전화할 수 있습니다 Sub.

Call AddOptionButton(Range("F15"))

관련 정보