Excel VBA質問箱 IV

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

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


60137 / 76736 ←次へ | 前へ→

【21248】Re:入力ミスの防止について
回答  Jaka  - 05/1/17(月) 16:49 -

引用なし
パスワード
   > 1.入力後OKの場合  MsgBox "OK"を出さずに次の入力にいく方法。
   MsgBox "OK" を消すか、頭に'をつけてコメントにすれば良いです。

> 2.入力セルの変更設定の方法ですが
>   ご指導の
>      If Target.Cells(1).Column = 1 And Target.Row <= 5 Then
>   の意味は1列の1〜5行と思いますが
>      入力セルが飛び飛びの場合
>      A1〜5
>      D3〜8
>      F5〜6
>   などの場合どのように考えたら良いでしょうか。
    下記参照。(不具合があるかも)
    出来るなら結合セルはやめた方が良いです。
    マクロとの愛称が悪いので、面倒なコードが必要になってきます。


> 3.Private Sub の意味は
>   このシートだけこのマクロが有効と考えてよいのでしょうか?
    ??厳密には意味は違います。
    書き込んだシートモジュールのイベントですから、書き込んだシートにしか使えません。

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Cells.Count <> 1 Then
  If Target.MergeCells = False Then
   Exit Sub
  End If
End If
If Target.Cells(1).Column = 1 And Target.Row <= 5 Or _
  Target.Cells(1).Column = 4 And Target.Row >= 3 And Target.Row <= 8 Or _
  Target.Cells(1).Column = 6 And Target.Row >= 5 And Target.Row <= 6 Then
  If Target.Cells(1).Value >= "1" And Target.Cells(1).Value <= "4" _
   Or Target.Cells(1) = "" Then
   'MsgBox "OK"
  Else
   MsgBox "NG"
   Application.EnableEvents = False
   Application.Undo
   Application.EnableEvents = True
  End If
End If
End Sub

0 hits

【21236】入力ミスの防止について nori 05/1/17(月) 12:00 質問
【21237】Re:入力ミスの防止について Jaka 05/1/17(月) 12:29 回答
【21239】Re:入力ミスの防止について Jaka 05/1/17(月) 12:46 発言
【21241】Re:入力ミスの防止について Jaka 05/1/17(月) 13:15 回答
【21245】Re:入力ミスの防止について nori 05/1/17(月) 14:05 質問
【21248】Re:入力ミスの防止について Jaka 05/1/17(月) 16:49 回答
【21250】Re:入力ミスの防止について Jaka 05/1/17(月) 17:18 回答
【21253】Re:入力ミスの防止について nori 05/1/17(月) 17:53 質問
【21269】Re:入力ミスの防止について Jaka 05/1/18(火) 10:12 回答
【21277】Re:入力ミスの防止について nori 05/1/18(火) 11:57 お礼

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