클라이언트 정보가 들어있는 통합 문서가 있습니다. 각 클라이언트마다 시트가 있으며 각 시트에는 클라이언트의 고유 ID가 표시됩니다. 사용자가 cobo 상자에서 클라이언트를 선택할 사용자 정의 폼을 시작하려고합니다. 그런 다음 적절한 시트의 마지막 행에서 데이터 사용자 정의 폼을 채 웁니다.사용자 정의 올바른 시트 cobo 값을 기준으로
동일한 통합 문서 내의 다른 코드에서 스크립팅 사전을 사용하고 있지만 특정 시트의 특정 범위에 해당합니다. 모든 시트를 통해 사용자 정의 폼을 검색하여 cobo_ClientID 필드의 값과 동일한 이름을 가진 사용자 시트를 찾은 다음 MAX 업데이트 날짜가있는 행에서 올바른 데이터 요소를 가져 오는 방법에 대한 단서가 없습니다.
가 여기에 다른 지역에서 사용하고 스크립팅 사전의 예 : 다른 포럼에서 제공 한 LastRow 링크, 그리고 몇 가지 조언 사이
Set coboDict = CreateObject("Scripting.Dictionary")
With coboDict
For Each cStatsClientID In ws1.Range("StatsClientID")
If Not .exists(cStatsClientID.Value) Then
.Add cStatsClientID.Value, cStatsClientID.Row
Else
If CLng(cStatsClientID.Offset(, -2).Value) > CLng(ws1.Range("B" & .Item(cStatsClientID.Value))) Then
.Item(cStatsClientID.Value) = cStatsClientID.Row
End If
End If
Next cStatsClientID
Me.cobo_ClientID.List = Application.Transpose(.keys)
End With
올바른 워크 시트를 얻으려면 Worksheet.Name 속성을 사용하고 마지막 행을 검색하려면 [lastRow] (https://www.rondebruin.nl/win/s9/win005.htm) 계산을 사용할 수 있습니까? – QHarr
솔직히 말하면, 나는 아직도 VBA에 비교적 익숙하지 않고 이전에 그 속성을 사용하지 않았기 때문에 확실하지 않습니다.그것을 보면서, 나는 그것이 어떻게 가능할 지 확신하지 못한다. - cobo_ClientID 또는 B의 값에 기초하여 올바른 시트를 확인한다. - 올바른 시트의 값을 가져올 수 있어야한다. MAX 업데이트 날짜 – Rodger
각 클라이언트 시트의 이름은 클라이언트 ID와 동일합니다. ID가 각각 "RB1", "RB2"및 "QJ4"인 3 개의 클라이언트가있는 경우 "RB1", "RB2"및 "QJ4"라는 클라이언트 시트가 3 개 있습니다. 올바른 시트를 식별하는 코드를 얻을 수 있었지만 마지막 시트의 시트에서 셀의 데이터를 가져 오는 코드를 가져올 수 없습니다. – Rodger