1
사용자가 새로운 시트의 텍스트를 만들 시트를 선택하길 원합니다. 그러나 그가 선택할 수있는 시트 수는 시간이 지남에 따라 다를 수 있으며 시트의 이름을 하드 코드하고 싶지 않습니다. 내 체크 박스를 넣어 빈 프레임과 사용자 정의 폼을 생성하고 코드의이 비트를 추가매개 변수에 따라 userform의 체크 박스 생성하기
o 01.2013
o 07.2013
o 01.2014
o 07.2014
: 여기
은 예입니다 내가해야 할 목표로 무엇 ("O"는 체크 박스를 나타냅니다) userform :Private Tck(10) As MSForms.CheckBox
Private Sub UserForm_Initialize()
Dim ws As Worksheet
Dim i As Long
i = 1
For Each ws In ActiveWorkbook.Worksheets
If Left(ws.Name, 3) = "T2M" Then
Set Tck(i) = Frame1.Controls.Add("Forms.Checkbox.1", "Checkbox" & i)
Tck(i).Caption = Right(ws.Name, 7)
i=i+1
End If
Next
End Sub
그러나 if 테스트의 유효성을 검사하는 마지막 시트와 함께 하나의 확인란 만 추가합니다.
두 반복 사이에 오프셋을 만들려고 시도했지만 의 위치를 수정할 수 없습니다 (예 : Tck(i).top
).
나는 또한이 질문의 대답에서 방법을 시도했다 : Adding controls to a frame in an Excel userform with VBA 그러나 그것은 또한 작동하지 않는다.
완벽하게 작동합니다! 감사 – Tom