Gizport
1 回答
0
Share (facebook)
124
view
全般

セルに入力した値によって別々のセルに飛ぶようにマクロで設定したい。 ...

セルに入力した値によって別々のセルに飛ぶようにマクロで設定したい。 1000人分のアンケート入力フォームを作成しています。
アンケートのステップ問題などで、例えば、問1で“1”と回答した人は問2へ、“2”と回答した人は問3へ進むといったように、セルに入力した値によって別々のセルに飛ぶようにマクロで設定したいのですが、なかなかうまくいきません。
自分で考えたコードは以下のとおりです。


Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
For i = 4 To 1003 Step 1
Select Case Cells(i, 4).Value
Case "1"
Cells(i, 4).Offset(0, 8).Activate ‘D4セルに”1”と入力した場合、L4セルへ移動
Case "3"
Cells(i, 4).Offset(0, 3).Activate ‘D4セルに”3”と入力した場合、G4セルへ移動
Case "4"
Cells(i, 4).Offset(0, 5).Activate ‘D4セルに”4”と入力した場合、I4セルへ移動
Case "5"
Cells(i, 4).Offset(0, 7).Activate ‘D4セルに”5”と入力した場合、K4セルへ移動

End Select
Next i
End Sub


D列セルが選択され(アクティブセルとなり)、かつ、セル内容が変更された時のみイベントを発生させるようにしたいのですが、
上記のマクロだと、他の設問の回答をセルに入力した場合も同じイベントが発生するため、入力後のアクティブセルが常にL4セルやG4セルになってしまいます。
1行目だけに入力するなら“For~”のところを削除すればいいのでしょうが、1000行(1000人分)入力するので、繰り返しのマクロが必要になるかと思います。
この場合、どこを改善すればいいのでしょうか。

注)アンケート入力時はすべてテンキーでの入力となります。
Yahoo!知恵袋 5083日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
Dim i As Integer の次の行へ
If Target.Column <> 4 Then Exit Sub を追加
これで、D列へ入力した時に動作します。お試しください。
補足)
コメントの付け方が間違っています。’です。
"2"に対するCase文がありません。
Yahoo!知恵袋 5080日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
23
Views
質問者が納得光LINKW200の管理画面にはアクセスできているのでしょうか? 光LINKW200の中にBBiQから指定されている接続用IDと接続用パスワードを設定して保存終了すればOKです。 光LINKW200はどちらの会社の回線をご利用になっても対応しています。 > モデムが検索できませんでした。またはビジー状態ですとエラーが出てから全く進みません・・・ これは、PCで接続用IDと接続用パスワードを入力した時の応答でしょうか? 手順を踏んでセットアップしましょう。 1.BBiQからのレンタル品装置...
3502日前view23
全般
59
Views
質問者が納得多少の加工が必要ですが、クイックルワイパーでも可能 http://www.kao.com/jp/quickle/qkl_quickle_00.html
3550日前view59
全般
38
Views
質問者が納得ふつか前にも同じ質問してましたね。 あれだけ丁寧に回答したけれど、いきなり質問の削除。簡単なミスで解決し、恥ずかしくなって質問を削除されたのかと思ってました。でも、sugurubirdさんは、ご自分の質問の削除をこれまでに6回もされているんですね。 -------------------------------------------------------------- > バッファローの無線lanwhr g301n経由だとidとpwでノートpcは繋がります。 QTNetBBIQ光電話ターミナ...
4311日前view38
全般
44
Views
質問者が納得細かく見る気がないのですが INDIRECT関数を使っている時点で 対象 となるブックを開いてないと 処理されません。 数式で計算したいなら シートはむやみに分けてはいけません。 それか SUMIFの計算式を 全てのシートの決められたセルに入れるように して それを集計するかですね。 INDIRECTは不可です。
4415日前view44
全般
28
Views
質問者が納得チェックボックス挿入マクロ___列バージョン コードが分かりにくかったですね。申し訳ありません。 列方向に4列目から1250列目、すなわち D列からAVB列までのチェックボックス挿入と考えて良いでしょうか。下記コードの4行目から7行目に、それぞれ 開始列数字、終了列数字、チェックボックスのリンク先行数、チェックボックスの挿入先行数を代入して、マクロを開始して下さい。 下記では、D列からAVB列まで、5行目にチェックボックスを挿入し、2行目にリンクさせる前提にしています。適時に変更して下さい。 -...
4540日前view28