- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リストボックスで選択した項目のデータとワークシートのデータを比較したい)
リストボックスを使用して選択した項目のデータとワークシートのデータを比較したい
このQ&Aのポイント
- Excel2003を使用している個人用マクロブックにユーザーフォームを作成し、リストボックスを配置しました。リストボックス1では年(2005,2006,2007)、リストボックス2では週(01,02・・・・,53)を選択できるようにしています。クリックしたコマンドボタンで、選択した項目を取得し、hizukeという変数に代入します(例:2005 02)。
- hizukeの値を既に開いているcsvファイルから検索し、一致しているセルを選択したいのですが、同じものと認識してくれません。hizukeのデータ型はStringにしていますが、問題があると思われますか?
- Excel2003で個人用マクロブックを使用している際に、リストボックスで選択した項目を取得して、csvファイルから一致するセルを選択したいです。しかし、hizukeの値が同じでも認識してくれません。hizukeのデータ型はStringに設定していますが、問題があると思いますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>hizukeのデータ型はStringにしていますが、何か問題があると思われますか? これはCSVのデータを見てみないと何とも言えませんが、CSVのデータが文字列型で入力されているなら問題はありません。 でもhizuke変数の例として"2005 02"とありますが、実際には途中の空白がなく "200502"だとすると、CSVの"200502"は数値となるので、型が一致しないため検索してもヒットしないでしょう。 また個人用マクロブックではなく、CSVシートの標準モジュールシートにそのマクロを貼り付けて実行したら違う結果になりませんか? その場合はシートオブジェクトの指定が曖昧になっており、意図するシートを検索していない可能性もあります。 いずれにせよ質問文ではどんなデータ、どんなマクロか具体的に記載がないので、「想像」で回答するしかありません。お互い無駄だと思いませんか? 結果を早く手に入れたいならデータの一部と、マクロを掲載した方がよいですよ。
お礼
質問後に体調不良となり、お礼が送れましたこと大変失礼致しました。 また、質問内容に不備がありましたことお詫び申し上げます。 データ型の一致で苦しんでおりました。 リストボックス内で選択した項目の値を取得する際 With Listbox1 For i = 0 to .ListCount-1 If Selected(i) = True then (以後略) とWithステートメント内に書いておりましたが、これをやめて For i = 0 to ListBox1.ListCount-1 という書き方にしたらうまくいきました。 なぜなのかは全く分かりませんが・・・。 >また個人用マクロブックではなく、CSVシートの標準モジュールシートにそのマクロを貼り付けて実行したら違う結果になりませんか? そういうこともあるのですね。 今回はどうしてもcsvシートにモジュールを置くことができませんでしたが、その機会ができたら早速試してみようと思います。 ありがとうございました。