おはようございます。
今日は、生徒さんからの質問を取り上げたいと思います。
↓このように

Excelであるフィールドにデータを入力する際に、
整数2桁(1~99)だけを入力したい。
それ以上の桁の数値が入力されたら、上から2桁だけを表示したい。
との事でした。
「入力規則」機能を使えばよいのでは・・
ちなみに「入力規則」とは
セルに入力するデータの範囲や種類を制限できる機能です。
無効なデータを入力するとエラーメッセージが表示されます。
ところが・・
エラーメッセージは表示しない方がよいとの事でした。
う~ん・・だとすると入力規則は使えないわねぇ
だってエラーメッセージを表示させなければ、
なんでも入力OK(@_@;)になっちゃうんだもん。
さて・・こうなったらVBAでやっちゃおうかぁ
Excelを起動し、Sheet1に表を作ります。
製品番号フィールドのB5~B16に整数2桁だけ表示するようにしますよ。
Altキー+F11キーでVBEを起動



こちらをコピーしても(*^_^*)↓
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <5 Or Target.Row > 16 Then Exit Sub
If Target.Column <> 2 Then Exit Sub
If Target.Value <1 Then<br>
Target.Value = ""
End If
If Target.Value > 99 Then
Target.Value = CInt(Left(CStr(Target.Value), 2))
End If
End Sub
これで出来上がり。


でもでも、初心者の生徒さんにはちょっと難しかったりします。。
VBAを使わない方法がわかる方
ぜひご教授くださいな(*^_^*)
mihoりん

今日は、生徒さんからの質問を取り上げたいと思います。
↓このように

Excelであるフィールドにデータを入力する際に、
整数2桁(1~99)だけを入力したい。
それ以上の桁の数値が入力されたら、上から2桁だけを表示したい。
との事でした。
「入力規則」機能を使えばよいのでは・・
ちなみに「入力規則」とは
セルに入力するデータの範囲や種類を制限できる機能です。
無効なデータを入力するとエラーメッセージが表示されます。
ところが・・
エラーメッセージは表示しない方がよいとの事でした。
う~ん・・だとすると入力規則は使えないわねぇ
だってエラーメッセージを表示させなければ、
なんでも入力OK(@_@;)になっちゃうんだもん。
さて・・こうなったらVBAでやっちゃおうかぁ
Excelを起動し、Sheet1に表を作ります。
製品番号フィールドのB5~B16に整数2桁だけ表示するようにしますよ。
Altキー+F11キーでVBEを起動



こちらをコピーしても(*^_^*)↓
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <5 Or Target.Row > 16 Then Exit Sub
If Target.Column <> 2 Then Exit Sub
If Target.Value <1 Then<br>
Target.Value = ""
End If
If Target.Value > 99 Then
Target.Value = CInt(Left(CStr(Target.Value), 2))
End If
End Sub
これで出来上がり。


でもでも、初心者の生徒さんにはちょっと難しかったりします。。
VBAを使わない方法がわかる方
ぜひご教授くださいな(*^_^*)
mihoりん


今日はお返事が書けんかったので、
懺悔行脚の旅に出ています。
ここにも、何か書きたいんですが
何を書いたらいいのか分かりませんでした。
ごめんなさい。
また、ウチのような分からんおばさんにも
興味の持てる話題を提供して下さい。
久々にきて、ずうずうしいお願いでした。
m(_ _)m
ちょっとマニアックな記事でしたね
私たちも日々お勉強で、出来るだけわかりやすく、生徒さんにもブログでもお伝えできるよう
心がけているのですが、
まぁこんな時もあっちゃったりして(*^_^*)
読んでいただいてうれしく思います。
また遊びにくてくださいね。
お役にたててよかったです。