나는 실행 시간 동안 텍스트 상자를 생성하는 Excel UserForm을 가지고있다. 코드는 다음과 같다.Excel-VBA 동적으로 생성 된 UserForm TextBox가 변경된 것을 확인하는 방법은 무엇입니까?
Dim CompHandler() As New CCompHandler
Dim tb As MSForms.TextBox
Dim count As Integer
For i in Range(something)
If i = anotherthing Then
Set tb = UserForm1.Controls.Add("Forms.TextBox.1", "tb" & count)
With tb
.Width = iTbWidth
.Top = count * distance
.Left = iTbLeft
.Height = iTbHeight
.Value = Cells(row, column)
ReDim Preserve CompHandler(0 To count)
Set CompHandler(count).TextBoxGroup = tb
End With
count = count + 1
End If
Next i
변경된 값을 해당 셀에 다시 기록하고 싶습니다. 나는 이미 상자가 변경되었을 때 얻을 수있어 새로운 class called CCompHandler
에이 코드 값 :
Option Explicit
Public WithEvents TextBoxGroup As MSForms.TextBox
Private Sub TextBoxGroup_Change()
MsgBox TextBoxGroup
End Sub
그래서에 .. 어떤 아이디어가 어떻게 텍스트 상자 변경 내가받을 수 있나요? 아니면 더 나은 방법이 있을까요? 미리 감사드립니다.
CompHandler는 어떻게 정의됩니까? 구성 요소는 사용자 양식입니까? 추측을 많이하지 않고서도 이것을 테스트하거나 바이올린을 할 수는 없습니다. 코드의 나머지 부분을 알려주시겠습니까? –
@DanielCook : 나는 그것을 더 분명하게했다. – ramtoo