Excel VBA質問箱 IV

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

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


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

【66926】Excel セルの条件指定 ニガ子 10/10/17(日) 21:23 質問[未読]
【66933】Re:Excel セルの条件指定 kanabun 10/10/18(月) 19:27 発言[未読]
【66934】Re:Excel セルの条件指定 ニガ子 10/10/18(月) 20:15 質問[未読]
【66936】Re:Excel セルの条件指定 ニガ子 10/10/18(月) 21:02 お礼[未読]

【66926】Excel セルの条件指定
質問  ニガ子  - 10/10/17(日) 21:23 -

引用なし
パスワード
   初めて投稿させて頂きます。
何度も挑戦した結果、どうしても解決できない為教えて頂けたら嬉しいです。
初心者ですので、宜しくお願い致します。

下記のように、シートが40個ある為Workbookにしてあります。

5列・6列目・7列目入力後、B34が4だった場合
14列目にセルを飛ばしてあります。
今回、7列目入力後にセルを10列目に飛ばし、Enter後12列目に飛ばし
Enter後14列目入力後15列目入力としたいです。
10列目・12列目は確認の為にセルを選択させたいので、入力はしません。

追加で、B34が5だった場合の処理を下記に追加させたいのですが
If Sh.Range("B34").Value = 4 and Sh.Range("B34").Value = 5 Then
で宜しいのでしょうか?

B34が5だった場合の処理は、7列目入力後に10列目移動しEnter後
12列目に移動し、Enter後17列目に移動したいのです。
記述の仕方が、分かりません。


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Target.Column
Case 5, 6, 14
Target.Offset(0, 1).Select
Case 15
Target.Offset(0, 17 - 15).Select
Case 7
If Sh.Range("B34").Value = 4 Then
Target.Offset(0, 7).Select
Else
Target.Offset(0, 10 - 7).Select
End If

End Select
End Sub
宜しくお願いします。

【66933】Re:Excel セルの条件指定
発言  kanabun  - 10/10/18(月) 19:27 -

引用なし
パスワード
   ▼ニガ子 さん:

レスないですね...

>今回、7列目入力後にセルを10列目に飛ばし、Enter後12列目に飛ばし
>Enter後14列目入力後15列目入力としたいです。
>10列目・12列目は確認の為にセルを選択させたいので、入力はしません。

確認するだけで、入力しないというのが難しくしているのでしょうね

要件通りではありませんが、
Case 7 のところを、

Private Sub Workbook_SheetChange(ByVal Sh As Object, _
               ByVal Target As Range)
 Select Case Target.Column
  Case 5, 6, 14
    Target.Offset(0, 1).Select
  Case 15
    Target.Offset(0, 17 - 15).Select
  Case 7
    If Sh.Range("B34").Value = 4 Then
      'Target.Offset(0, 7).Select
      Target.Range("D1,F1,H1").Select
      Target.Range("H1").Activate

    Else
      Target.Offset(0, 10 - 7).Select
    End If
 End Select

End Sub

としてみると、7列目入力後に 14列目がアクティブに
なりますが、同時に 10列目と12列目が選択状態になって
いますので、一応 注目させることはできます。

【66934】Re:Excel セルの条件指定
質問  ニガ子  - 10/10/18(月) 20:15 -

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

レスありがとうございました。本当に助かりました。
別の方法が、あるのかもと自分自身でも調べており諦めておりました。

>7列目入力後に 14列目がアクティブに
>なりますが、同時に 10列目と12列目が選択状態になって
>いますので、一応 注目させることはできます。

上記の様に確認できる為、また目につきますので問題ありません。

もう1つ追加でお伺いしたいのですが、宜しいでしょうか?

kanabunさんのアドバイスの元

下記のようにB34が5だった場合も追加で入力したのですが・・・・
起動しないのです。

If Sh.Range("B34").Value = 5 Then
Target.Offset(0, 7).Select
Target.Range("D1,F1,K1").Select
Target.Range("K1").Activate
Else
Target.Offset(0, 10 - 7).Select
End If
End Select
End Sub


If Sh.Range("B34").Value = 4 and Sh.Range("B34").Value = 5 Then
でないと駄目なのでしょうか??
記述の仕方が間違っているのでしょうか?
宜しくお願い致します。

【66936】Re:Excel セルの条件指定
お礼  ニガ子  - 10/10/18(月) 21:02 -

引用なし
パスワード
   おかげさまで解決できました。
ありがとうございました。

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