| 
    
     |  | さらに調子に乗って… 
 ジャンプを記録すると
 Selection.SpecialCells(xlCellTypeFormulas, 23).Select
 などのように記録されますが
 「なんで23が、xlNumbers + xlTextValues + xlLogical + xlErrorsとなるの?」
 「どこにそんなこと書いてあるの?」
 というあたりの話を。
 
 記録されたマクロの「SpecialCells」の辺りへカーソルを持って行きF1を押すと、
 ヘルプの画面が表示されます。
 その中に灰色の行で
 expression.SpecialCells(Type, Value)
 と書いてあり、括弧の中の順番から
 Selection.SpecialCells(xlCellTypeFormulas, 23).Selectの
 「xlCellTypeFormulas」が「Type」に、
 「23」が「Value」に相当するんだなと推測が付きます。
 
 そしてヘルプ画面の
 「Value 省略可能です。〜〜〜XlSpecialCellsValues クラスの定数を使用します。」の
 「XlSpecialCellsValues」が青くなっているのでなんとなくクリックしてみると、
 
 使用できる定数は、次に示す XlSpecialCellsValue クラスのいずれかです。
 xlErrors
 xlLogical
 xlNumbers
 xlTextValues
 
 という記述があらわれます。
 このことから23と書く代わりに上の4つを書いても良いのだと知ることができます。
 
 次に、マクロの画面でF2を押すと見慣れない画面が現れます。
 (画面右上の「×」の下の「×」を押すといつもの画面に戻ります。)
 
 その画面の上の方に
 「<すべてのライブラリ>」「▼」
 「           」「▼」
 とあるので下の枠(双眼鏡ボタンの左の枠ですね)
 に上に書いてあった「xlErrors」と書いて双眼鏡ボタンを押します。
 
 すると画面に先程の
 xlErrors
 xlLogical
 xlNumbers
 xlTextValues
 これらが現れ、下の方に
 
 Const xlErrors = 16 (&H10)
 Excel.XlSpecialCellsValue のメンバ
 
 と書いたあるかと思います。
 
 その記述から xlErrors = 16 である事を知ることができます。
 
 ちなみに
 Const xlErrors = 16 (&H10)
 などと書いてあると「なんじゃこりゃ?」という感じかも知れませんが、
 何のことは無い
 
 Sub あいうえお()
 Const my定数 = 16
 End Sub
 
 というのと一緒で単に16という数字を定数に持たせてあるだけのことです。
 
 なので
 MsgBox xlErrors
 とすれば16と表示されますし、
 
 ActiveCell.Interior.ColorIndex = xlErrors
 とすれば16番目の色が着きます。
 
 ではでは。
 
 |  |