誰かが私を助けてくれるのではないかと思います。
以下のコードを使用して、値「OVH」を含むセルの名前付き範囲 (「ProjectName」) を検索しています。この値が見つかると、スクリプトはこの範囲から一意の値のリストを作成し、名前付き範囲「EnhancementsList」に貼り付けます。
Sub UniqueEnhancements()
Dim MyCell
With CreateObject("scripting.dictionary")
For Each MyCell In Range("ProjectName").Value
If InStr(1, MyCell, "OVH") > 0 Then
.Item(MyCell) = 1
End If
Next
Range("EnhancementsList").Resize(.Count) = Application.Transpose(.keys)
End With
Worksheets("Enhancements").Columns("B:B").AutoFit
Range("EnhancementsList").Sort Key1:=Range("EnhancementsList").Cells(2, 1), _
Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End Sub
コードは正常に動作しますが、可能であれば、これを調整して、「OVH」テキスト文字列の「ProjectName」範囲をチェックしますが、列から一意の値のリストをコピーして作成するようにしたいと思います。名前付きの範囲「Task」が残っていますが、解決策を考え出すために数日を費やしたにもかかわらず、これを行う方法がわかりません。
私が持っている限られた知識で、この行を変更しようとしました:
.Item(MyCell) = 1
に
.Item(MyCell.offset -1) = 1
と
.Item.offset-1 (MyCell) = 1
しかし、不一致エラーが発生します。
誰かがこれを見て、どこが間違っているのか教えてください。
多くの感謝と親切な敬意