これがあなたが望むものかどうかはわかりませんが、少なくともその一部は、あなたが求めていることをしているようです。
http://www.ozgrid.com/VBA/special-cells.htm
そのrange.specialcells
方法です。
定数のみ、または数式のみなどを含む範囲を返します。
このコードの使用例を以下に示します。
Sub CheckForConstants()
Dim x As Range
Set x = Selection.SpecialCells(xlCellTypeConstants, xlNumbers)
MsgBox "address of cells that contain numbers only is " & x.Address
Set x = Selection.SpecialCells(xlCellTypeConstants)
MsgBox "address of cells that contain constant of any type is " & x.Address
End Sub
範囲を選択してからこのマクロを実行すると、要件を満たすセルのアドレスが返されます。
最初の x は、数値のみを含むセルを探します。2 番目の x は、定数を含むセルを探します
この場合の範囲は選択でしたが、range("a1:b5") など、必要なものに設定できます。
ワークシートに戻り、goto 特殊メソッドを使用しました。
どうやら range.special メソッドも使用しているようです。
レコード マクロ オプションを使用したところ、これが得られました。
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Range("M7").Select
Selection.SpecialCells(xlCellTypeFormulas, 23).Select
Range("I6:J16").Select
Selection.SpecialCells(xlCellTypeConstants, 1).Select
Range("L9").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("CP").Select
Application.CutCopyMode = False
Range("I21").Select
ActiveSheet.DrawingObjects.Select
Application.Goto Reference:="GoToSpecialRoutine"
ワークシートの goto 特殊機能は、その機能の一部に特殊なセル メソッドを使用します。
また、他のものも使用します。コードの最後の 5 行で、ワークシートを変更し、オブジェクトに移動するように要求しました。
それは本当に彼らには行きません。それらを選択するだけです。
ワークシート CP にはオブジェクトが含まれており、最後の 3 行のコードを使用して、ワークシート上のすべてのオブジェクトを選択しました。
goto special の背後にあるコードを確認する最善の方法は、マクロを記録してから、ワークシートで goto / special 機能を使用することです。
終了したら、記録を停止し、記録したマクロを表示します。
細胞の種類によって選択する他の機能については知りませんが、私は初心者なので、非常に簡単にそこにある可能性があり、私にはわかりません.