私はクライアント情報を格納するブックを持っています。各クライアントにはシートがあり、各シートにはクライアントの一意のIDがラベルされています。私は、ユーザがコボボックスからクライアントを選択するユーザフォームを起動したいと思っています。その後、適切なシートの最後の行からのデータがユーザーフォームに入力されます。ユーザーフォーム正しいシートを特定するcobo値
同じブック内の他のコードでは、スクリプト辞書を使用していますが、これらはすべて特定の範囲の特定のシートに関連付けられています。私はどのようにcobo_ClientIDフィールドの値と同じ名前を持つものを見つけるために、すべてのシートを検索するUserFormのコードをして、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