여기 내 작은 문제를 도와 줄 수 있기를 바랍니다.데이터가 실현되지 않고 콤보 상자에 저장됩니다.
내 파일은 3 개의 워크 시트로 구성되어 있습니다. 1. 데이터 일부 계산
내가 파일을 열
을 만들기 위해 워크 시트를 돕는 2. 보고서 3. 나는 어떤 요청을 시작하는 계산을 구현하기 위해 버튼을 클릭합니다. 이 요청은 먼저 워크 시트 1 (데이터)의 데이터를 워크 시트 3 (돕는 워크 시트)에 복사합니다. 추가 요청 (모두 userforms에서 완료) 후에 워크 시트 3의 데이터는 요청 된 데이터에 대해 필터링됩니다. userform은 워크 시트 3에서 데이터를 가져오고 scritping 사전을 통해 콤보 상자에 표시됩니다.여기에 문제가 있습니다.
내 데이터는 세 개의 스프레드 시트에 포함되어 있습니다. 워크 시트 2의 단추를 누르면 요청이 처음으로 수행됩니다. (복사, 필터 및 계산을 구현하기 위해 버튼을 다시 클릭하면) 필터가 잘못 설정되어 계산이 다시 수행됩니다. 그러나 워크 시트 3을 열었을 때 (현재보기는 워크 시트 2가 아닌 워크 시트 3에 있고 단추가있는 경우) 편집기 창에서 수동으로 요청 및 계산을 시작하면 필터 및 계산이 항상 올바르다.
나는 combobox가 사전을 생성 할 때 오류가 있다고 생각하고 데이터를 가져 와서 필터를 적용합니다. 필터는 항상 첫 번째 요청에서 설정된 필터입니다. 추가 요청이 있으면 필터가 변경되지 않고 첫 번째 요청의 필터가됩니다. 요청 및 계산을 수행 한 후 재설정해야 할 수도 있습니까? 난 정말 내가 진행할 수 :(
감사
라파을 누군가가 나를 도울 수 있기를 바랍니다
Sub UserForm_Initialize()
'Taking the data from the helping working sheet
Dim objDic As Object
Dim lngZ As Long
Dim i As Integer
Set objDic = CreateObject("Scripting.Dictionary")
With Sheets("helpsheet")
For i = 12 To Sheets("helpsheet").Cells(.Rows.Count, 3).End(xlUp).Row
If Sheets("helpsheet").Rows(i).Hidden = False Then
ComboBox2.AddItem .Cells(i, 3)
objDic(.Cells(i, 3).Value) = 0
End If
Next
End With
Me.ComboBox2.List = objDic.keys
With Me.ComboBox2
.AddItem "all areas"
End With
End Sub
:
나는 정의 폼/콤보/scritping 사전에 대해 다음 코드를 사용
'END '를 사용하면 매우 좋습니다! 대신 내 솔루션을 사용해보십시오. – user3598756