私は複数のシートを持つExcelワークブックを持っています。カウントが更新される場合VBAでの辞書(ハッシング)の使用
私は(私が代わりにここにフィルタを使用してのテキストを検索しています)フィルタを使用して、特定のエントリの数を取得する必要があります
「メイン」シートです。文字列はブック内の他のシートから検索されます
カウントが更新されるセルは異なります。
検索条件、キーワード、シート、範囲などは、私が投稿したサンプルコードに記載されています。コードから
例:シート「TT」が挙げ基準を満たす場合にのみ
セルに、AE43は、カウントが更新されます。
同様に、データを取得するために、異なるセルに同じ種類のコードを30回以上使用する必要があります。
同様の検索のためのコードを入力する代わりに、「辞書」機能(他の言語ではハッシング)を使用できるかどうかを知りたいので、条件を満たすセルを自動的に更新できます。
Sub WBR()
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction
With ActiveWorkbook.Worksheets("TT") 'no of tickets processed - summary
[AE43] = wf.CountIfs(.Range("I:I"), "<>Duplicate TT", _
.Range("G:G"), "<>Not Tested", _
.Range("U:U"), "Item")
End With
With ActiveWorkbook.Worksheets("TT") 'not tested tickets - summary
[AE44] = wf.CountIfs(.Range("G:G"), "Not Tested")
End With
With ActiveWorkbook.Worksheets("TT") 'Tickets moved back- outdated OS and App Versions - summary
[AE45] = wf.CountIf(.Range("I:I"), "Outdated App Version") + wf.CountIf(.Range("I:I"), "Outdated OS")
End With
はい、辞書型は、例えば 'Set dict = CreateObject(" Scripting.Dictionary ")を介してVBA(MAC OSではなく)で利用可能ですが、何をしようとしているのか分かりません。 –
マニュアルで説明する - 別のシートにフィルタを適用し、特定のテキストを選択してカウントを取得し、 "sheet1"でカウントを更新するだけです。この作業は今、vbaで自動化されました。ここでサンプルのExcelファイルを見つけることができます。[リンク] https://expirebox.com/download/5d2fe6f97f7097860cbc0208a663ecd6.html –
は、VBA.itsにC#/ Javaスタイルのコードを書こうとしないと、コードが醜く読み込み不能になります。 – cyboashu