Excel VBA質問スレ Part8
■ このスレッドは過去ログ倉庫に格納されています
0097y
2008/09/05(金) 17:45:41おやっ、と思うようなコードですね。
たぶん、MergeCellsプロパティの「実体」を、togglingプロシージャに
参照渡しして、そこからプロパティを操作しようと考えたのでしょうか。
偶然かもしれませんが、なかなか珍しい間違い方をしていると思います。
toggling Range(str).MergeCells
というコードは、
@MergeCellsプロパティを読み出した結果得られた値について、
Aその値をtogglingプロシージャに渡す、
という2段階の処理として実行されます。単純に
「MergeCellsプロパティを、togglingプロシージャに渡す」
わけではありません。
Range(str).MergeCells で取得できるのは、プロパティの実体ではなく、
実体を読み出した結果であり、"True"もしくは"False"というただの値です。
この時点で、実体との関係は断たれてしまっているので、
その値をtogglingに参照渡しして、それを反転させても、
プロパティそのものを操作することにはなりません。
プロパティを操作する場合は、次のように直接操作するようにしてください。
Sub toggleMerge(ByVal str$)
Range(str).MergeCells = Not (Range(str).MergeCells)
End Sub
■ このスレッドは過去ログ倉庫に格納されています