こんにちは!
教えて下さい。

チェックボックスとコンボボックスがあります。
コンボボックスの一つ目の値は(any)、二つ目以降はDATAです。
デフォルトでは、「チェック無し、コンボボックスの値(any)、コンボボックスは使用不可」にしています。
チェックボックスをチェックするとコンボボックスを使用出来、コンボボックスの値をあるDATAにしたとします。

ここで問題なのですが、この地点でチェックボックスを外した時、コンボボックス
の値を(any)と表示させたいのです。(コンボボックスも使用不可)
コンボボックスの表示されている値を任意に変えれるのでしょうか?

初心者なもので、すごく簡単な質問だったらお許し下さい。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

コンボを初期状態に戻したいという事ですよね?


それでしたら例えば、

 document.forms( 'formA' ).elements( 'comboA' ).selectedIndex = 0 ;

とすれば、「 formA 」というフォーム内の「 comboA 」の選択状態を先頭の項目に
戻せます。
    • good
    • 0
この回答へのお礼

出来ました!
助かりました。ありがとうございます。

お礼日時:2001/09/13 19:44

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル、フォームでのVBAについて(コンボボックス)

エクセル97でフォームのコンボボックスを使用する場合の質問です。
ワークシートにコンボボックスを10個配置しました。
入力範囲はすべて同じです。
このコンボボックスで特定の項目(入力範囲6番目)を選んだ場合、次のマクロを実行するようにしようと思っています。マクロを10個書いてそれぞれのコンボボックスに登録してもいいのですが、それよりはどのコンボボックスが使用されたか特定できればすべてのコンボボックスに一つのマクロで対応できます。
コンボボックスに番号(たとえばコンボ1~コンボ10)を振ってその番号の取得ができればいいのですが、どのように記述したらよいのか検討がつきません。
お教えください。

Aベストアンサー

ゆん(yunn117)です。
まず、ByValですが、引数を値渡しするという宣言(?)です。
もうひとつ、ByRefというのがあって、それは参照渡しというモノになります。
・・・値渡しとか参照渡しってなに?というのを説明するべきなんでしょうが
説明がかなり苦手なので。。。申し訳ないです。(^-^;

で、検討がつかない、なんておっしゃってますが
Combo2では、ちゃんとNextMacro(2)って渡してるじゃないですか♪
カッコ内に入れた値が、NextMacro側に渡ってます。

ExcelのVBAのヘルプが見られる環境なら、ヘルプで調べてみてください。引数、ByVal、ByRefなど。

で、更なる質問部分についてですが
DrawingObjects("Combo1")といった表現をする場合はまとめられないんです。。。
が!
もう一度、考え直してみました。

Sub Combo1()
Call NextMacro(1)
End Sub

Sub NextMacro(ByVal SelCombo As Integer)
Dim ans As String
If Sheets("LOG").Range("C1") = False Then
Sheets("回答書").DrawingObjects("Combo" & SelCombo).ListIndex _
= Sheets("LOG").Range("H" & (30 + SelCombo)).Value
Exit Sub
End If
If Sheets("回答書").DrawingObjects("Combo" & SelCombo).ListIndex = 6 Then
ans = InputBox("地域を入れてください。", "地域設定")
Worksheets("LOG").Range("J" & SelCombo) = ans
End Sub

で、いいのでは。
ちゃんと全部キレイにまとまるやん♪
と、言いたいところなんですが、テストしてません。
動かなかったらごめんなさい。(^-^;;;

ゆん(yunn117)です。
まず、ByValですが、引数を値渡しするという宣言(?)です。
もうひとつ、ByRefというのがあって、それは参照渡しというモノになります。
・・・値渡しとか参照渡しってなに?というのを説明するべきなんでしょうが
説明がかなり苦手なので。。。申し訳ないです。(^-^;

で、検討がつかない、なんておっしゃってますが
Combo2では、ちゃんとNextMacro(2)って渡してるじゃないですか♪
カッコ内に入れた値が、NextMacro側に渡ってます。

ExcelのVBAのヘルプが見られる環境なら、...続きを読む

Qプルダウン Or コンボボックスを選択したら、テキストボックスを入力不可にさせる方法 

フォーム制御として、JavaScriptを使用して、プルダウンよりある項目が選択されたと同時に、あるテキストボックスの入力を不可、またはmaxlengthを0にしたいのですが、思うように出来ません。
maxlengthをvalue等に変更させたら値は変更されたので、
関数としての動きは問題なさそうです。

どなたか、ご教授お願いいたします。

※現在下記のソースは、list番号を指定していません。

<script language="JavaScript">
<!--
function MM_jumpMenu(){
parent.document.form1.text1.maxlength=0;

}
//-->
</script>

<form name="form1" method="post" action="">
<select name="menu1" onChange="MM_jumpMenu()">
<option selected>unnamed1</option>
<option>unnamed2</option>
</select>
<input type="text" name="text1" maxlength="10">
</form>

フォーム制御として、JavaScriptを使用して、プルダウンよりある項目が選択されたと同時に、あるテキストボックスの入力を不可、またはmaxlengthを0にしたいのですが、思うように出来ません。
maxlengthをvalue等に変更させたら値は変更されたので、
関数としての動きは問題なさそうです。

どなたか、ご教授お願いいたします。

※現在下記のソースは、list番号を指定していません。

<script language="JavaScript">
<!--
function MM_jumpMenu(){
parent.document.form1.text1.maxlength=0;

}
/...続きを読む

Aベストアンサー

> parent.document.form1.text1.maxlength=0;

form1 は、親にあるのは間違っていないのですね。

で、入力負荷にするのなら disabled プロパティをいじりましょう。

parent.document.form1.text1.disabled = true;

Qコンボボックスの設定  【エクセル】

エクセルのコンボボックスについてです。
コンボボックスのリストとして


黄色
というリストをコンボボックスの‘入力範囲’に指定します。

コンボボックスの
‘コントロールの書式設定’→‘リンクするセル’
でセルを指定すると、赤を選んだとき リンクさせたセルには
「1」とでますが、なぜ1と出るのか、というのと
私は「赤」と表示させたいのですが、そのやり方を教えて頂きたいです。

コンボボックスを初めて使うので初心者的な質問だと思いますが宜しくお願いします。

Aベストアンサー

この質問もあいまいな点あるのだが。
(1)データー入力規則ーリストー元の値のドロップダウンリスト
ガあるのだが知っていて使わないのか?
これだと質問のようなことはない。選択したドロップダウンの出るセルに文字が出る。
(2)シートやユーザーフォームにコンボボックスを貼り付けているのか
A。質問者はどうもフォームのコンボボックスを使っているらしい
(「入力範囲」という言葉から)
下記Bをお勧めします。
しかし現状のままだと別のセルに一旦数字を出して(J2とでも仮定して)赤白黄うお出したいセルに
=INDEX(H1:H3,J2)
と入れると良い。
H1:H3に赤、青、黄といれて置く(入力範囲)。
ーー
B.コントロールツールボックスのコンボぼっくすを使うと
FillListRangeに例えばH1:H3  H1:H3に赤、青、黄といれ
LinkedCellを例えばD2にすれば、選択後出るには赤とでる。
ーー
>「初心者的な」といいながら、一番難しい方法でやっているようだ。

Qチェックボックスの取得数値で別のチェックボックスを選択可能に

こんにちは、初めて利用させていただきます。

Javascriptを利用し、下記URLのようなものを作成中です。
http://mag.morirepo.com/test_skill.html
それぞれのテーブルごとに段階を設け、「次の段階に進むためには2ポイント以上消費しなければチェックボックスが表示されない」といったものにしたいのですが、上手くスクリプト書けませんでした。

FirefoxとIEで動作させたいと思っています。
よろしくお願いします。

Aベストアンサー

(1)ご提示のソースの構成という条件で、<table>内の<input>要素は全て
  チェックボックスであると仮定し、そのチェックは省略しています。
(2)同じ段階の項目はinputのname属性が同じであるということを利用して  
  判定しています。 (なので、ご提示の「至近距離技能」のところは
  正しく動作しません。=全部同じnameになっている)
(3)ソースの「onClick="ttlValue()"」と「disabled」の設定は繰り返しが
  多いので、省略できるようにしました。
  下のサンプルのようにすることが可能です。
  (formに代表してonclickを設定しています。)
  (オンロード時に、非表示とdisabledをセットするようにしています)
(4)非表示にしてかつdisabledにするのかどうか不明でしたので(非表示
  だけでもことたりるのか)、一応、disabledにもにしていますが、不要
  ならばはずしてください。
  また、非表示にした時にチェックされている内容をクリアするのか
  どうかも不明でしたので、チェックはそのままです。クリアしたい
  場合は、コメントアウトしてある部分を有効にしてください。
(5)クリックされたらttlValue()が続いて実行されるようになっていますが、
  ttlValue()でやりたいことが良くわからなかったので、とりあえずダミー
  のfunctionになっています。 function ttlValue() を置き換えれば
  そのまま機能するはずです。
  最後の<select>の「onChange="ttlValue()"」は省略できませんので、
  そのまま残しておいてください。

以下、サンプルです。(短くするため、2項目のみに減らしてあります。)
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var i, p = document.getElementById('tableBox').getElementsByTagName('TABLE');
for (i=0; i<p.length; i++) check(p[i]);
}

function test(evt) {
var t = evt.target || evt.srcElement;
if (t.nodeName != 'INPUT' || t.type != 'checkbox') return;
var p = t.parentNode;
while (p.nodeName != 'TABLE') p = p.parentNode;
check(p);
ttlValue();
}

function check(p) {
var n, c, i = 0, e = p.getElementsByTagName('INPUT');
while (e[i]) {
n = e[i].name;
c = 0;
while (e[i] && e[i].name == n) {
if (e[i].checked) c += parseInt(e[i].value);
e[i].disabled = false;
e[i++].style.visibility = 'visible';
}
if (c<2) while (e[i]) {
//e[i].checked = false; //一度消えたらチェックも消す場合
e[i].disabled = true;
e[i++].style.visibility = 'hidden';
}
}
}

function ttlValue() { return; } //←省略しています
</script>
</head>

<body>

<form name="skillForm" onclick="test(event)">
<div id="tableBox">
<p>( )内の数値は必要ポイントです。</p>

<h3>防御技能</h3>
<table cellspacing="0">
<tr>
<td colspan="2" class="top left dankai">第1段階</td>
<td colspan="2" class="top dankai">第2段階</td>
<td colspan="2" class="top dankai">第3段階</td>
<td class="top dankai">第4段階</td>
</tr>
<tr>
<td class="left noLineUnder green">HGリロードタイム</td>
<td class="noLineUnder green">切替速度</td>
<td class="noLineUnder yellow2">PDW</td>
<td class="noLineUnder green">連射タイム</td>
<td class="noLineUnder yellow1">サイレンサー</td>
<td class="noLineUnder green">振る速度向上</td>
<td class="noLineUnder green">リーチ拡張</td>
</tr>
<tr>
<td class="left chBox green"><i>(1)</i>
<input name="bx2Lv1" type="checkbox" value="1" /></td>
<td class="chBox green"><i>(1)</i>
<input name="bx2Lv1" type="checkbox" value="1" /></td>
<td class="chBox yellow2"><i>(3)</i>
<input name="bx2Lv2" type="checkbox" value="3" /></td>
<td class="chBox green"><i>(2)</i>
<input name="bx2Lv2" type="checkbox" value="2" /></td>
<td class="chBox yellow1"><i>(2)</i>
<input name="bx2Lv3" type="checkbox" value="2" /></td>
<td class="chBox green"><i>(2)</i>
<input name="bx2Lv3" type="checkbox" value="2" /></td>
<td class="chBox green"><i>(2)</i>
<input name="bx2Lv4" type="checkbox" value="2" /></td>
</tr>
</table>

<h3>身体技能</h3>
<table cellspacing="0">
<tr>
<td colspan="3" class="top left dankai">第1段階</td>
<td colspan="3" class="top dankai">第2段階</td>
<td colspan="2" class="top dankai">第3段階</td>
<td class="top dankai">第4段階</td>
</tr>
<tr>
<td class="left noLineUnder green">衝突抵抗度</td>
<td class="noLineUnder green">探知力向上</td>
<td class="noLineUnder green">ダッシュ回復力増加</td>
<td class="noLineUnder green">上級空挺部隊</td>
<td class="noLineUnder green">隠密性向上</td>
<td class="noLineUnder green">持久力増加</td>
<td class="noLineUnder green">科学攻撃抵抗度</td>
<td class="noLineUnder green">爆発への抵抗</td>
<td class="noLineUnder green">体力増加</td>
</tr>
<tr>
<td class="left chBox green"><i>(1)</i>
<input name="bx3Lv1" type="checkbox" value="1" /></td>
<td class="chBox green"><i>(1)</i>
<input name="bx3Lv1" type="checkbox" value="1" /></td>
<td class="chBox green"><i>(1)</i>
<input name="bx3Lv1" type="checkbox" value="1" /></td>
<td class="chBox green"><i>(2)</i>
<input name="bx3Lv2" type="checkbox" value="2" /></td>
<td class="chBox green"><i>(2)</i>
<input name="bx3Lv2" type="checkbox" value="2" /></td>
<td class="chBox green"><i>(2)</i>
<input name="bx3Lv2" type="checkbox" value="2" /></td>
<td class="chBox green"><i>(4)</i>
<input name="bx3Lv3" type="checkbox" value="4" /></td>
<td class="chBox green"><i>(4)</i>
<input name="bx3Lv3" type="checkbox" value="4" /></td>
<td class="chBox green"><i>(5)</i>
<input name="bx3Lv4" type="checkbox" value="5" /></td>
</tr>
</table>
</div>
<div id="LvPt">
Lv.<select name="ch2" onChange="ttlValue()">
<option value="1" selected>1</option>
<option value="2">2</option>
<!-- 以下省略 -->
</select>
残り<INPUT name="result" type="text" value="1" size="3" id="result" /> pt
</div>
</form>
</body>
</html>

(1)ご提示のソースの構成という条件で、<table>内の<input>要素は全て
  チェックボックスであると仮定し、そのチェックは省略しています。
(2)同じ段階の項目はinputのname属性が同じであるということを利用して  
  判定しています。 (なので、ご提示の「至近距離技能」のところは
  正しく動作しません。=全部同じnameになっている)
(3)ソースの「onClick="ttlValue()"」と「disabled」の設定は繰り返しが
  多いので、省略できるようにしました。
  下のサンプルのようにするこ...続きを読む

Qエクセル、コンボボックス/フォームのとコントロールツールボックスの

エクセル2000です。
今まではワークシートにフォームのコンボボックスを貼って使ってきました。
でも色を変えたり出来ないので、今度はコントロールツールボックスからコンボボックスを貼ってみました。

質問ですが、コンボボックスに表示させるリストを設定するのに、これまでのフォームのコンボボックスだと書式設定で入力範囲をカーソルをあてて一度に簡単に指定できたのですが、コントロールツールボックスのコンボボックスだとそれが出来ません。VBEditorのプロパティのところのListFillRangeの右側にいちいち手でSheet1!A1:A5のように打ち込まなければならないようです。これではけっこう手間がかかってしまいます。
わたしのやりかたが間違っているのでしょうか?

Aベストアンサー

#2です。
>この意味が良くわかりませんでした。
エクセル(VBA)ではリストに出す範囲を指定するだけですが、
VBのコンボボックスの項目(アイテム)の登録はListFillRangeがないので、AddItemを項目数だけ、記述
する必要があると言うことを言いたかったのです。
エクセル(VBA)では手数が省けていると思います。

QチェックボックスのON/OFFに応じて別の複数のチェックボックスも連動ON/OFF

7番のcheckboxをON→1,2,4,5番にチェックもON
7番のcheckboxをOFF→1,2,4,5番にチェックもOFF

という風に動作させる記述をご教示ください。
よろしくお願い致します。


<html>
<head>
<script type="text/javascript">
</script>
</head>
<body>
<form action="" method="post" name="myform">
去年<br>
1番<input type="checkbox" name="kyonen[]" value="1">1月<br>
2番<input type="checkbox" name="kyonen[]" value="2">2月<br>
3番<input type="checkbox" name="kyonen[]" value="3">3月<br>
今年<br>
4番<input type="checkbox" name="kotosi[]" value="1">1月<br>
5番<input type="checkbox" name="kotosi[]" value="2">2月<br>
6番<input type="checkbox" name="kotosi[]" value="3">3月<br>
7番<input type="checkbox" name="mychk">去年と今年の1、2月をまとめてチェック<br>
</form>
</body>
</html>

7番のcheckboxをON→1,2,4,5番にチェックもON
7番のcheckboxをOFF→1,2,4,5番にチェックもOFF

という風に動作させる記述をご教示ください。
よろしくお願い致します。


<html>
<head>
<script type="text/javascript">
</script>
</head>
<body>
<form action="" method="post" name="myform">
去年<br>
1番<input type="checkbox" name="kyonen[]" value="1">1月<br>
2番<input type="checkbox" name="kyonen[]" value="2">2月<br>
3番<input type="checkbox" name="kyonen[]" value="3">3月<br...続きを読む

Aベストアンサー

条件が複雑になるともう少し工夫が必要になりますが、
とりあえずはこんな感じでいけると思います。

<html>
<head>
<script type="text/javascript">
function checkFunc(obj){
f=obj.form
for(var i=0;i<f.length;i++){
if((f[i].name=="kyonen[]" || f[i].name=="kotosi[]")&& (f[i].value=="1" ||f[i].value=="2")) f[i].checked=obj.checked
}
}
</script>
</head>
<body>
<form action="" method="post" name="myform">
去年<br>
1番<input type="checkbox" name="kyonen[]" value="1">1月<br>
2番<input type="checkbox" name="kyonen[]" value="2">2月<br>
3番<input type="checkbox" name="kyonen[]" value="3">3月<br>
今年<br>
4番<input type="checkbox" name="kotosi[]" value="1">1月<br>
5番<input type="checkbox" name="kotosi[]" value="2">2月<br>
6番<input type="checkbox" name="kotosi[]" value="3">3月<br>
7番<input type="checkbox" name="mychk" onClick="checkFunc(this)">去年と今年の1、2月をまとめてチェック<br>
</form>
</body>
</html>

条件が複雑になるともう少し工夫が必要になりますが、
とりあえずはこんな感じでいけると思います。

<html>
<head>
<script type="text/javascript">
function checkFunc(obj){
f=obj.form
for(var i=0;i<f.length;i++){
if((f[i].name=="kyonen[]" || f[i].name=="kotosi[]")&& (f[i].value=="1" ||f[i].value=="2")) f[i].checked=obj.checked
}
}
</script>
</head>
<body>
<form action="" method="post" name="myform">
去年<br>
1番<input type="checkbox" name="kyonen[]" value="1">1月...続きを読む

Qエクセルに貼りついたコンボボックスについて

パソコン初心者です。よろしくお願いします。

インターネットの画面をコピーしてエクセルに貼り付けました。
余分な部分まで貼り付けてしまい削除したのですが、コンボボックスがどうしても削除できません。(リンクははずしました。)
ドラッグすることもできず、行を削除してもコンボボックスは残っております。どうしたらコンボボックスを削除できるでしょうか?
ご回答よろしくお願いいたします。

Aベストアンサー

こんにちは。

お使いのExcelのバージョンによって操作が違うかもしれませんので参考までに。
※以下はExcel2000での操作例です。

まず、ツールバーに「デザインモード」というアイコン(鉛筆?と三角定規とものさし
が書かれているもの)が表示されていないでしょうか?
もし表示されていなければ以下の操作をしてみて下さい。

1)メニュー操作
  「表示」→「ツールバー」をクリック
2)表示されたメニューより「Visual Basic」にチェックマークが付いていなければ、
  クリックして下さい。
3)これでツールバーが追加されて「デザインモード」というアイコンが表示され
  ていれば、下記の作業を行ってみて下さい。

次に、コンボボックスの削除を行います。
※添付画像もご覧下さい。

4)ツールバーの「デザインモード」のアイコンをクリックして、くぼんだ状態に
  して下さい。(※デザインモードをONの状態にします。)
5)シート上の消したい「コンボボックス」にマウスを当ててクリックして下さい。
  ※これで「コンボボックス」が選択状態になり、周囲にサイズ変更用の
   マークが表示されると思います。
6)上記5)でコンボボックスが選択状態になったら、[Del]キー(デリートキー)
  を押して下さい。
  ※これで「コンボボックス」が削除されれば完了です。
7)続けて、他のコンボボックスなどのコントロールを削除したい場合は、
 上記5)、6)の作業を繰り返して下さい。

8)なお、シート上のコントロールを全て削除したい場合は、下記の操作を
 行って下さい。
 ◎あらかじめ「デザインモード」をONの状態にします。
   ↓
 ◎メニュー: 「編集」→「ジャンプ」
   ↓
 ◎表示された「ジャンプ」ダイアログの「セル選択」ボタンをクリックします。
   ↓
 ◎表示」された「選択オプション」ダイアログの中の「オブジェクト」という
  項目(オプションボタン)を選択します。
   ↓
 ◎「OK」ボタンをクリックします。
   ↓
 ◎これでシート上の全てのコントロールが選択された状態になります。
   ↓
 ◎ここで[Del]キー(デリートキー)を押せば、全てのコントロールが削除
  されます。

9)作業が終了したら、「デザインモード」アイコンを再度クリックして、
  デザインモードをOFFにします。

以上で作業完了です。

もしも上手くいかなかった場合はすみません。
参考になれば幸いです。

こんにちは。

お使いのExcelのバージョンによって操作が違うかもしれませんので参考までに。
※以下はExcel2000での操作例です。

まず、ツールバーに「デザインモード」というアイコン(鉛筆?と三角定規とものさし
が書かれているもの)が表示されていないでしょうか?
もし表示されていなければ以下の操作をしてみて下さい。

1)メニュー操作
  「表示」→「ツールバー」をクリック
2)表示されたメニューより「Visual Basic」にチェックマークが付いていなければ、
  クリックして下さい。
...続きを読む

Qネストされたチェックボックスの子孫要素にチェックを入れると、親要素にもチェックされる

<ul>
<li><input type="checkbox" name="A" value="">親A
<ul>
<li><input type="checkbox" name="B" value="" class="second">子A
<ul><li><input type="checkbox" name="C" value="" class="second">孫A</li>
</li>
</ul>
</li>
</ul>
<ul>
<li><input type="checkbox" name="A" value="">親B
<ul>
<li><input type="checkbox" name="B" value="" class="second">子B
<ul><li><input type="checkbox" name="C" value="" class="second">孫C</li>
</li>
</ul>
</li>
</ul>



3 階層あり、親、子や孫にチェックを入れた時に、その全てに連動してチェックされる方法は
ありますでしょうか ?
親だけチェックして子や孫もチェックされるのはできるのですが、逆ができません。
ちなみに同じつくりのものが下に続くのですが、A と B は連動せず、
ID NAMEも同じものです。

どうぞ、わかる方お願いいたします。

<ul>
<li><input type="checkbox" name="A" value="">親A
<ul>
<li><input type="checkbox" name="B" value="" class="second">子A
<ul><li><input type="checkbox" name="C" value="" class="second">孫A</li>
</li>
</ul>
</li>
</ul>
<ul>
<li><input type="checkbox" name="A" value="">親B
<ul>
<li><input type="checkbox" name="B" value="" class="second">子B
<ul><li><input type="checkbox" name="C" value="" class="second">孫C</li>
</li>
</ul>
</li>
</ul>



3 階層あり、...続きを読む

Aベストアンサー

構造さえ確定できればできないことはないと思いますが
親をチェックして、子孫にチェックがはいる仕組みなら
孫や子をチェックすると親や子にチェックがはいるとなると
常にすべて同じチェック状態になっちゃいますけどそれって意味あります?

つまり、
親をチェック→子・孫にチェックがはいる
子をチェック→親・孫にチェックがはいる
孫をチェック→親・子にチェックがはいる

つまりどこか一つのチェックで十分では?

QエクセルVBA コンボボックスで強制終了

こんにちは。
エクセルVBAでいくつかのフォームを作成しているのですが、
常にではないのですが、「問題が発生したため・・・」のメッセージで
強制終了させられてしまいます。
恐らく、コンボボックスが原因かと思われるのですが。。。
申し訳ありません。教えていただけると嬉しいです。

VBA
1.Initialize
 (1)コンボボックス1リスト設定:データ2
 (2)コンボボックス2~21(20個のコンボボックス)リスト設定
               :データ数80
2.コンボボックス1_Change
 (1)コンボボックス22リスト設定:データ数80

現象
 (1)コンボボックス22を▼でなく入力し、保存すると強制終了
 (2)上記現象発生後、コンボボックス1の▼押下で強制終了
 (3)複数のPCで試したが、性能の良いPCでもたまに起こる。
  性能が悪いPCの場合、確実に起きる。
 (4)他のフォームはいくらやってもこの現象は発生しない。
  但し、コンボボックス2~21のような大量なコンボボックスはない

考えること
 (1)コンボボックスのリストの限界等はあるのでしょうか。
 (2)メモリ等の関係で発生するのでしょうか。
 (3)コンボボックスに入力不可とするか、テキストでNoを入力
  させる方法をとった方がよいでしょうか。

長々とすみません。
よろしくお願いいたします。

   

こんにちは。
エクセルVBAでいくつかのフォームを作成しているのですが、
常にではないのですが、「問題が発生したため・・・」のメッセージで
強制終了させられてしまいます。
恐らく、コンボボックスが原因かと思われるのですが。。。
申し訳ありません。教えていただけると嬉しいです。

VBA
1.Initialize
 (1)コンボボックス1リスト設定:データ2
 (2)コンボボックス2~21(20個のコンボボックス)リスト設定
               :データ数80
2.コンボボックス1_Change
 (1)コンボ...続きを読む

Aベストアンサー

こんにちは。

>VBAを組んだのは2007で今、それを動かしているのは2002です。
>こんなことをしているのが悪いのでしょうか・・・。

一般論なのですが、VBAの場合は、下位互換は期待しないほうがよい、ということです。下のバージョンでは、テキストコード(.bas)で、エクスポート・インポートをしたほうが良いかもしれません。特に、2007と2003では、ファイルフォーマットが違いますからね。

>自分で設定しない限りは、Add-inの機能はエクセルに入ってないという認識でよいでしょうか?

今、私は、「自分で設定しない限り」だったか、ちょっとはっきり答えられません。これは、当面、そのままにしておきます。

Qセレクトボックスの値を変更不可にする

質問です。
ある条件を満たしている場合、それをクッキーにてユーザー側に保存をさせています。
そして、その条件を満たしている人が所定のページを開いた際にそこにあるセレクトボックスの値を強制的に
こちらで指定しているものを選択状態に指定るのですが、これでは選択値をユーザーが変更することができてしまいます。
そこで、このある条件を満たしている際は、こちらで指定する値を強制的に選択状態にし、変更ができないようにするには
どうすればよいのでしょうか?
ご存知の方がいらっしゃいましたら、ご教授の程お願いいたします。

Aベストアンサー

<HEAD>
<Script Language="JavaScript">
function select_set()
{
if ( <条件式>){
document.fm.sel.selectedIndex = 0;
}
}
</Script>
</HEAD>
<body>
<form method = "post" action = "#" name = "fm" >
<select name = "sel" onChange = select_set();"">
<option value = "10">10</option>
<option value = "20">20</option>
<option value = "30">30</option>
</select>

</form>

-------------------------------------
こんな感じでどうでしょうか?
"条件式"ではCookieの有無を判定させます。


人気Q&Aランキング