Excel VBA質問箱 IV

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

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


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

【40648】±の認識方法 ハーレーダビットソン 06/7/19(水) 17:27 質問[未読]
【40653】Re:±の認識方法 ichinose 06/7/19(水) 19:07 発言[未読]

【40648】±の認識方法
質問  ハーレーダビットソン  - 06/7/19(水) 17:27 -

引用なし
パスワード
   こんにちは。
マクロを組んでいて題名の件で困っています。
まず、基準と比較対照のシートがあります。
基準とするシートの値(固定値)に対して、他社に配布し入力してもらう
比較対照用のシートをぶつけて、採点をしています。

A〜C列まではリスト内の文字を選択するのですが
D列のみ□□±(プラスマイナス)○○という値を入力してもらいます。

(例)
8.16±0.08(8.08〜8.24)

望むことは
・表示は8.16±0.08のまま
・内部的には8.08〜8.24と認識してくれる

入力された値がこの規格内であり、さらに規格内でもC列に
選択された文字が基準シートで認められたものかを判断するというものです。

以前はマクロでなく人作業でみていたのですが
今回からマクロで行い、シートのフォーマットは変更できない理由から
±での表示しかできず困っています。

ヒントや参考文書等何でも良いのでよろしくお願いします。

【40653】Re:±の認識方法
発言  ichinose  - 06/7/19(水) 19:07 -

引用なし
パスワード
   ▼ハーレーダビットソン さん:
こんばんは。

>こんにちは。
>マクロを組んでいて題名の件で困っています。
>まず、基準と比較対照のシートがあります。
>基準とするシートの値(固定値)に対して、他社に配布し入力してもらう
>比較対照用のシートをぶつけて、採点をしています。
>
>A〜C列まではリスト内の文字を選択するのですが
>D列のみ□□±(プラスマイナス)○○という値を入力してもらいます。
>
>(例)
>8.16±0.08(8.08〜8.24)
>
>望むことは
>・表示は8.16±0.08のまま
>・内部的には8.08〜8.24と認識してくれる

新規ブックの標準モジュールに
'==============================================================
Sub main()
  Dim ans As Variant
  Range("a1").Value = "8.16±0.08"
  ans = get_scope(Range("a1"))
  If TypeName(ans) <> "Boolean" Then
    MsgBox ans(0) & "〜" & ans(1)
    End If
End Sub
'===============================================================
Function get_scope(rng As Range) As Variant
  Dim myarray As Variant
  myarray = Split(rng.Value, "±")
  get_scope = False
  If UBound(myarray) = 1 Then
    If IsNumeric(myarray(0)) And IsNumeric(myarray(1)) Then
     get_scope = Array(CDec(myarray(0)) - CDec(myarray(1)), _
              CDec(myarray(0)) + CDec(myarray(1)))
     End If
    End If
End Function

アクティブシートのセルA1の「8.16±0.08」を
解析した結果です。
こういうことですか?

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