Excel VBA質問箱 IV

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

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


4478 / 13644 ツリー ←次へ | 前へ→

【56364】数字以外の表示 123 08/6/15(日) 13:01 質問[未読]
【56365】Re:数字以外の表示 りん 08/6/15(日) 13:07 回答[未読]
【56367】Re:数字以外の表示 123 08/6/15(日) 16:38 お礼[未読]

【56364】数字以外の表示
質問  123  - 08/6/15(日) 13:01 -

引用なし
パスワード
   教えて下さい
下記コードに於いて数字入力の場合は表示(例10.5、25.5)はOKなのですが
文章入力で、何も表示できません。文字表示できるよう修正したいのですが
ご教授お願いします。
Private Sub Worksheet_Change(ByVal Target As Range)
  With Target.Cells(1)
    If Intersect(Target, Range("B2:AO2")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If .Value <> "" Then
      .Value = Val(.Value) / 10
    End If
    Application.EnableEvents = True
  End With
 End With
End Sub

【56365】Re:数字以外の表示
回答  りん E-MAIL  - 08/6/15(日) 13:07 -

引用なし
パスワード
   123 さん、こんにちわ。

>下記コードに於いて数字入力の場合は表示(例10.5、25.5)はOKなのですが
>文章入力で、何も表示できません。文字表示できるよう修正したいのですが
>ご教授お願いします。

>    If Intersect(Target, Range("B2:AO2")) Is Nothing Then Exit Sub
>    Application.EnableEvents = False
>    If .Value <> "" Then
>      .Value = Val(.Value) / 10
>    End If

IsNumeric関数で、数値として評価できるかどうか判断してみてはいかがでしょうか。

   If .Value <> "" Then
     If IsNumeric(.Value) Then '数値として評価できたら
      .Value = Val(.Value) / 10
     End If
   End If

こんな感じです。

【56367】Re:数字以外の表示
お礼  123  - 08/6/15(日) 16:38 -

引用なし
パスワード
   りんさん
ありがとうございました。
IsNumeric関数ですか
数値として評価できるかどうかを調べるですね
解決しました。

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