Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1777 / 13645 ツリー ←次へ | 前へ→

【71996】コンボボックスの入力範囲指定ができない Doi 12/5/15(火) 8:17 質問[未読]
【72000】Re:コンボボックスの入力範囲指定ができない UO3 12/5/15(火) 21:23 発言[未読]
【72001】Re:コンボボックスの入力範囲指定ができない Doi 12/5/16(水) 7:20 お礼[未読]
【72002】Re:コンボボックスの入力範囲指定ができない Doi 12/5/16(水) 7:57 お礼[未読]

【71996】コンボボックスの入力範囲指定ができない
質問  Doi  - 12/5/15(火) 8:17 -

引用なし
パスワード
   はじめまして。
当方、以前から EXCEl 2003 で作成していた VBA を 2010 で動かすため「互換モード」で動かしていました(拡張子 xls → xlsm)。

今まで問題無く動いていたのですが、先週末から今週頭にかけて急にいくつかの動作に問題が出てきました。何か、パッチがあたったのでしょうか。

それで問題の箇所ですがフォームのコンボボックスの「入力範囲指定」なのですが、これがマクロ操作できなくなりました。急にです。

現在のソースは以下です。

Dim pos as long
Dim pos_end as long

ActiveSheet.Shapes("コンボボックス名").Select
With Selection
  .ListFillRange = "シート名!$F$" & pos & ":$F$" & pos_end
End With

これに pos と pos_end に数字を与えることにより、範囲決定がされていました。それが突然に機能しなくなりました。以前、覚えた範囲のまま更新されないのです。

当方の環境は Windows 7 Professional (64bit) ・・・ (32bit)版でも同じ現象です。

以上、宜しくお願いします。情報不足がありましたら申し訳ありません。

【72000】Re:コンボボックスの入力範囲指定ができ...
発言  UO3  - 12/5/15(火) 21:23 -

引用なし
パスワード
   ▼Doi さん:

こんばんは

>当方、以前から EXCEl 2003 で作成していた VBA を 2010 で動かすため「互換モード」で動かしていました(拡張子 xls → xlsm)。

ちょっと、この意味がわからないのですが、今、動かしておられるブックは .xlsm ですか?
とすれば、それは「互換モード」ではなく「純正モード?」ですが・・・

互換モードとは、2010のエクセルで .xls を開いたときのことをいいます。

ともあれ。
当方の2010で試してみましたら、問題なくリストは切り替わりましたが?
(ただし、 32BITです)

お役に立てずごめんなさいね。

ところで、アップされたコード以外のところで、このコンボボックスをSelectすることに意味がある部分がなければ


ActiveSheet.DropDowns("コンボボックス名").ListFillRange = "シート名!$F$" & pos & ":$F$" & pos_end

この1行でいいですよ。

【72001】Re:コンボボックスの入力範囲指定ができ...
お礼  Doi E-MAIL  - 12/5/16(水) 7:20 -

引用なし
パスワード
   早速の返答、有難うございます。

>ちょっと、この意味がわからないのですが、今、動かしておられるブックは .xlsm ですか?

そうです。これは「純正モード」なんですね。いきなり勘違いで失礼しました。

>互換モードとは、2010のエクセルで .xls を開いたときのことをいいます。

ご指摘。有難うございます。

>ともあれ。
>当方の2010で試してみましたら、問題なくリストは切り替わりましたが?
>(ただし、 32BITです)

普通はそうですよね。。。それが先週末か、今週頭ぐらいから急に出来なくなったのです。
もう一点についても。
それは Cells.Select するとメモリ不足に陥る点です。ある意味、行と列が大幅に拡張されたため、当たり前なのですが、こちらは正しく範囲指定することで解消できました。ただ、なぜ急にこのような二つの現象が急に起こったことも不思議です。

>ところで、アップされたコード以外のところで、このコンボボックスをSelectすることに意味がある部分がなければ
>ActiveSheet.DropDowns("コンボボックス名").ListFillRange = "シート名!$F$" & pos & ":$F$" & pos_end
>この1行でいいですよ。

丁寧なご返答、感謝します。有難うございました。

【72002】Re:コンボボックスの入力範囲指定ができ...
お礼  Doi E-MAIL  - 12/5/16(水) 7:57 -

引用なし
パスワード
   UO3 さん、また他の方々、失礼いたしました。

一つの原因がわかりました。

同一名称のコンボボックスが重なって4つも存在していました。
これを一つにしてみると、無事に動きました。。。

こんな低次元の質問は恥ずかしいばかりです。
有難うございました。

1777 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free