- ベストアンサー
エクセルで入力文字のチェック
エクセルのセルに入力された値がUnicodeで****から****までの範囲内のみの文字で記述されているかのチェックをしたいのですが、 例:B3には電話番号を入力したいので半角数字と()のみで構成されているかをチェックする。 VBAでどのように記述すればよいのでしょうか? もう一つ、 セルB3に文字を入力し終えた時または、B3にあるカーソルを他のセルに動かした時に VBAが走る…と言う記述方法はあるのでしょうか? ボタンを用意し、入力後[CHECK]を押すとVBAが動くと言うのは出来るのですが… 以上よろしくお願いいたします。
![noname#6248](https://gazo.okwave.jp/okwave/images/contents/av_nophoto_60_3.gif)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
B3に変更があったら入力された値を調べています。Worksheet_Changeを使っています。 B3があるシートのコードウインドウに貼り付けます。 ご参考に。 Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim dt As String '入力データ Dim p As Integer '文字の位置カウンタ '変更セルが単一の場合 If Target.Count = 1 Then '変更セルがB3の場合 If Target.Address = "$B$3" Then dt = Target.Text 'B3に入力した値 '文字を調べる For p = 1 To Len(dt) If InStr("1234567890()", Mid(dt, p, 1)) = 0 Then '指定文字以外があったらメッセージを出す例 MsgBox "不正な文字『 " & Mid(dt, p, 1) & " 』があります。" Exit For End If Next End If End If End Sub
関連するQ&A
- excelで次のようなことをチェックできますか?
excelで次のようなことをチェックできますか? もし、合致していれば(真であれば)決められた得点を表示する というようなことです。 1.A3セルに入力した文字列が中央ぞろえされている。 2.A4に入力したデータは、’0120といように数字が文字列化されている。 3.B4セルには「セルポインタ」という文字列が入力されている。 3.A5セルに入力されている数式が=sum(b5:b11)である。値ではチェックしない。 4.A6セルに表示されている値が1234である(数式で表示)。 5.A7セルにrankで表示した値が 北海道 である。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAの入力文字(unicode)について
VBA初心者ですが宜しくお願いします。 質問ですが、任意のセルにunicodeにしかない文字(?)を、VBAにて変数に入力した際に、"?"になってしまいます。 例:セルA1に"㎥"(立方メートル)が入った文字列、"固体Bの体積は1㎥です。"と入力 【VBA】 dim Ac as string Ac=cells(1,1).value 上記の場合、変数Acの結果が"固体Bの体積は1?です。"となります。 "?"にならないようにするにはどうしたらいいでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excelの入力について
おはようございます。 さて、Excelのセルへの入力について質問です。 たとえば、 A B 1なまえ 色つきセル 2年齢 色つきセル このような表があったとします。 そこで、B1、B2のセルに文字や数字を入力すると今まで付いていた色が消えるようにするには、どのようにすればいいのでしょうか。 なお、VBAは使わないでやりたいです。 以上、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- テキストボックスの入力値チェックについて
テキストボックスに入力した値に対して半角カナで入力されているかのチェックをコマンドボタン押下時に行いたいのですが、 どのようなコードを書けばよろしいのでしょうか? ついでに、半角数字のみのチェックも教えてください。
- 締切済み
- その他(データベース)
- VBAでの入力チェックをするには?
VBAで入力チェックをしたいんですけど、まだVBAがよくわかりません。 わかるかたお願いします。 5行ずつデータを貼っていくんですけど時々貼り付け箇所を間違えます。 それを防ぎたいのです。 貼り付け始め箇所がB100とします。 そこへ5行ごと貼り付けていきます。 私が調べてみてわかったことはXLDOWNというので一番下のセルを見つけれるしか分かっていません。 B100からどーんどーん貼っていき例えばB500からB505の間が抜け落ちていたときB495の値をその間へ貼り付け、またB2300からB2305の間が抜けていたらB2295の値をその間へ貼り付けるといったことを繰り返すことはできますでおうか?
- ベストアンサー
- Visual Basic
- エクセルに文字を入力するとき
エクセルに文字を入力するときは 入力したいセルをアクティブにして 文字を入力します。 しかし、入力したいセルにあらかじめ文字が 入っていて、追加で入力したいとき (例えば、1000→1000円にする)は、 マウスでセルをダブルクリックして入力したい位置に カーソルを合わせています。 このときのマウスでダブルクリックする動作が わずらわしいです。 キーボードを使ってセルの中にカーソルを 点滅できないのでしょうか? BackSpaceを押すとセルの文字が全部消えてしまいます。
- ベストアンサー
- オフィス系ソフト
- EXCELで文字入力
「A1」に数字、「B1」に文字、「C1」に数字、「D1」にまた文字を入力するような表の場合、セルを移動しただけで、かな入力になるような自動設定はどうしたらよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- セル中の文字チェック
教えて下さい。 マクロ初心者です。 あるセルに入力させたくない文字が複数あります。 (たとえば、半角の / や * などです。) 入力者がそのセルに入力している時、/が入力できない!というのがベストかと思うのですが、入力された後にセル中の文字列をチェックしエラーメッセージを表示出来れば大助かりです。 マクロ、関数どちらでも結構ですので対応方法を教えて下さい。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCELで改行しながら文字表示
セルB1に 「12345678(改行)ABCDEFGH(改行)abcdefgh(改行)09876543」 と表示させたいです。(文字列は例) 半角8文字単位で改行 表示させる元データは、 セルB5=C5&D5&E5&F5 C5=12345678(文字列) D5=ABCDEFGH(文字列) E5=ABCDEFGH(文字列) F5=09876543(文字列) 各々文字列が入力されないこともあります。 (文字が無ければ前詰めですが、できるだけ8文字単位にしたいので 半角スペースを入れたりします。) C5からF5を入力することにより、カーソルをB5にもっていくと 結果としてB1に表示させるというものです。 文字列は*5行のセルだけでなく、8000行くらいあります。 欲をいえば、カーソルがある行のセルB*を表示させることが できればベストです。 (例えば、F4000にカーソルがあれば、B4000の文字を表示する) 宜しくお願いします。
- ベストアンサー
- その他MS Office製品
- ExcelのVBAでカタカナをチェックしたい
ExcelのVBAで、あるセルの値が半角カタカナであった場合エラーとしたいのですが、 セルの値が半角カタカナという条件式の構文がわかりません。 困っています。どなたかお助けくださいませ! また、できることならば、半角カタカナ→全角カタカナに自動修正させたいのですが、 無理ならば上記のエラーチェックだけでもよいです。 もし、こちらもおわかりになる方いらっしゃいましたら教えてください。よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
お礼
ありがとうございます。助かりました。