Excel VBA質問箱 IV

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

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


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

【74914】マクロのチェックとエラー表示について 初心者 13/10/23(水) 15:20 質問[未読]
【74915】Re:マクロのチェックとエラー表示について ウッシ 13/10/24(木) 8:44 回答[未読]
【74918】Re:マクロのチェックとエラー表示について 初心者 13/10/24(木) 16:28 お礼[未読]

【74914】マクロのチェックとエラー表示について
質問  初心者  - 13/10/23(水) 15:20 -

引用なし
パスワード
   C行:事業者名称(全角20文字以内)に

・型
・文字数
・必須項目
を入力後のボタンひとつでチェックをかけたいと思っています。

型以外、文字数オーバー、未入力の場合、背景に赤を表示し、エラーのある列のB行に「エラー」と表示したいのですが、どのようなマクロを組んでよいのか分かりません。
お教えいただけませんでしょうか。

【74915】Re:マクロのチェックとエラー表示について
回答  ウッシ  - 13/10/24(木) 8:44 -

引用なし
パスワード
   こんにちは

シートタブを右クリックして「コードの表示」でシートモジュールを出して
下記コードを貼り付けて下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
  If Target.Column <> 3 Then Exit Sub
  If Len(Target.Value) = 0 Then
    MsgBox "入力必須です。"
  End If
  If Len(Target.Value) > 20 Then
    MsgBox "20文字までです。"
  End If
  If Target.Value <> StrConv(Target.Value, vbWide) Then
    MsgBox "全角入力必須です。全角変換します。"
    Application.EnableEvents = False
    Target.NumberFormatLocal = "@"
    Target.Value = StrConv(Target.Value, vbWide)
    Application.EnableEvents = True
  End If
End Sub

数値の場合は半角になってしまうので、書式を文字列にしてます。
元の書式を保持する場合はその部分を変更して下さい。

▼初心者 さん:
>C行:事業者名称(全角20文字以内)に
>
>・型
>・文字数
>・必須項目
>を入力後のボタンひとつでチェックをかけたいと思っています。
>
>型以外、文字数オーバー、未入力の場合、背景に赤を表示し、エラーのある列のB行に「エラー」と表示したいのですが、どのようなマクロを組んでよいのか分かりません。
>お教えいただけませんでしょうか。

【74918】Re:マクロのチェックとエラー表示について
お礼  初心者  - 13/10/24(木) 16:28 -

引用なし
パスワード
   ウッシさん

早速のご回答ありがとうございます。
参考に作成してみようと思います。

またお世話になることがあるかもしれませんが、よろしくお願いします。

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