환경을 설정하겠습니다.사용자 양식을 닫을 수 없습니다.
이것은 Excel에서 실행되는 VBA 코드입니다.
msflexgrid가 포함 된 userform이 있습니다. 이 flexgrid는 고객 및 고객, 영업 사원, CSR, 제조사 및 지역, 할당의 목록을 보여줍니다. 열을 클릭하면 지역 열 아래에 다른 사용자 양식이 열리고 지역 목록이 표시된다고 가정 해 봅시다. 그런 다음 원하는 영토를 클릭하면 사용자 정의 양식이 사라지고 새 영토가 이전 영토로 바뀝니다.
'Territory'사용자 정의 폼이 사라지지 않고 (깜박임) 선택한 영토를 클릭 할 때까지이 모든 기능이 훌륭하게 작동합니다. 새로운 영토는 기본 userform을 전송하지 않습니다.
필자가 코드를 단계별로 실행할 때 훌륭하다는 점을 언급해야합니다.
나는 flexgrid를 사용하여 다른 모든 userform (flexgrid가없는 사용자)이 open userform이 잘 작동한다고 가정합니다. 다음
는 몇 가지 코드 예제입니다 :** 영역의 정의 폼이 닫힐 때 지역의 정의 폼 및 새로운 영역의 할당을 보여줍니다 적 FlexGrid에서 이벤트를 클릭합니다.
Private Sub FlexGrid_Customers_Click()
With FlexGrid_Customers
Select Case .Col
Case 0
Case 2
Case 4
Case 6
UserForm_Territories.Show
Case Else
End Select
If Len(Trim(Misc1)) > 0 Then
.TextMatrix(.Row, .Col) = Trim(Misc1)
.TextMatrix(.Row, .Col + 1) = Trim(Misc2)
End If
End With
End Sub
** 다음 잠수정이 지역의 정의 폼
Private Sub UserForm_Activate()
Misc1 = ""
Misc2 = ""
ListBox_Territory.Clear
Module_Get.Territories
End Sub
Private Sub UserForm_Terminate()
Set UserForm_Territories = Nothing
End Sub
Private Sub ListBox_Territory_Click()
With ListBox_Territory
Misc1 = Trim(.List(.ListIndex, 0))
Misc2 = Trim(.List(.ListIndex, 1))
End With
Hide
UserForm_Terminate
End Sub
나는이 긴 숨이 찬 설명을 알고 있지만 내가 꽤 괜찮은 VBA 프로그래머있어이 날 난처한 상황에 빠진이 사용됩니다.
도움을 주시면 감사하겠습니다.