セルの参照場所(簡単に変更できる)を取得しようとしていて、その場所をフィルタリングされた一意レコードのリストで参照しようとしていますユーザーはユーザーフォームを初期化します。オブジェクトが必要です - 424値を範囲に設定しようとしたときにエラーが発生しました
シート9(ヘルパー)セルAI2は、シート1(SA給与管理区域)のセルの絶対位置を返します。
=CELL("address",INDEX('SA Payroll Dist Sheet'!B:B,MATCH(Helpers!AH2,'SA Payroll Dist Sheet'!B:B,0)))
、セルAJ2を使用してAI2の値の最後の桁になります:
=RIGHT(AI2,6)
これは正しく値を返します
$ B $ 547(AI2には、以下の式が含まれていますこれは、私が望むセル参照)
私はユーザーフォームを初期化しようとするとどうなります:
エラー '424'ランタイム:
Dim ER As Range
'I want 'ER' to represent the value in AJ2
Set ER = ActiveWorkbook.Sheets(9).Range("AJ2").Value
'Here's where debugger highlights yellow
Worksheets("SA Payroll Dist Sheet").Range("$B$15:ER").Select
' Is this even the proper way to refer to the range I am after?
' In this case, the range would be ("$B$15:$B$457")
Selection.Copy
Sheet9.Range("AK2").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range _
("AK2"), Unique:=True
' Here's where I want the list of unique records
' in Sheet1.Range("$B$15:$B$457") to appear
デバッガは次の行をハイライト::以下の場合 オブジェクトに必要な
が
Set ER = ActiveWorkbook.Sheets(9).Range("AJ2").Value
私が試した:
Set ER = Sheet9.Range("AJ2").Value
と
Set ER = Worksheets("Helpers").Range("AJ2").Value
でも同じエラーが表示されます。私はこれに対する解決策が恥ずかしがらず簡単になるだろうと思っていますが、アイディアが足りなくなりました。私は同じエラーで他の質問からの解決策を試しましたが、何も問題が解決していないようです。
ようこそスタックオーバーフロー!これはExcel VBAを使用していますか?もしそうなら、そのような質問にタグを付けて、より多くの専門家があなたの質問と助けを見つけることができるでしょう。 – Eric
ありがとう、エリック! Excel-VBAを使用しています。私はタグで私のポストを更新しました、提案をありがとう! – ArchNemisisPayroll