セルに対して何らかの操作を行うマクロの場合、セル以外のオブジェクトが選択されているとエラーになる場合があります。たとえば次のコードは、セルが選択されているときは選択されているセルにRAND関数を埋め込みますが、テキストボックスやグラフなどが選択されている状態で実行するとエラーになります。 Sub Sample() Selection = "=RAND()" End Sub 誤動作を避けるために、現在選択されているのがセルかどうか判定するには、TypeName関数の裏技を使います。TypeName関数は、バリアント型変数に格納されているデータの種類を調べる関数です。本来は次のように使います。 Sub Sample2() Dim tmp As Variant tmp = 100 MsgBox "変数内のデータは、" & TypeName(tmp) & " です。", 64 tmp = "tan