VBAでEXCELのプルダウンリストの内容を取得
エクセル2007を使用してマクロを組んでいます。
http://okwave.jp/qa/q4881623.html
こちらを参考に、セルに仕掛けられているプルダウンメニューの内容を取得し、ユーザーフォームのコンボボックス上からの選択が可能になるようなものを作ろうとしています。
リンク先のソースを全く変えずに実行してみた場合、質問者さんと同じように「424 オブジェクトが必要です」のエラーが発生します。
これを回避しようと変更してみたのですが、今度は違うエラーが発生してしまいます。
また質問者さんの行った解決法がどういうものなのかということも理解できていません
自分の行った変更は
set r = ActiveSheet.UsedRange
の部分を
set r = Selection
に変更したというものです。
-------------------------------------------------------
実行時エラー '438':
オブジェクトは、このプロパティまたはメソッドをサポートしていません。
-------------------------------------------------------
自分の環境で発生するエラーのエラーメッセージは以上のようなもので
発生するタイミングは変数 ss に v.fomula1 を代入するタイミングです。
ローカルウィンドウで確認する限りでは
入力規則を取得したはずの v の .fomula1 プロパティにはしっかりと "りんご,みかん,もも" と値が格納され、型も String になっています
Debug.print で v.formula1 の内容を吐いてみても りんご,みかん,もも と出力されます。
また、エラーウィンドウのヘルプを見てみると
「
・このオートメーション オブジェクトに存在しないメソッドまたはプロパティが指定されています。
オブジェクトの詳細については、オブジェクトのマニュアルを参照し、プロパティとメソッドが正しいかどうかを確認してください。
・Friend プロシージャが実行時バインディングで呼び出される指定になっています。
Friend プロシージャの名前は、コンパイル時にわかっていなければなりません。実行時バインディング呼び出しでは、わかりません。 」
と二つ解決方法が紹介されていました。存在しないプロパティを参照しているわけではないので
下のものが怪しいように思うのですが、ヘルプ検索では"実行時バインディング呼び出し"等がヒットせず、やはり内容が理解できません。
原因や解決法の分かる方いらっしゃいましたらよろしくお願いします。
お礼
ありがとうございました。