• ベストアンサー

文字型の数字をそろえたい 8.20 →8.2

アクセス97のVBAで 文字型の数字をそろえたいのです。 5.60→5.6 3.400 X 4.550 X 2.400 →3.4 X4.55 X 2.4 4.000 X 4.500 → 4 X 4.5 いかがでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

VAL,STR,TRIMの組み合わせでどうですか。 エクセルでテストですが下記を参考に。 3つの関数がAccessにもあること確認済み。 --- Sub test1() For i = 1 To 3 a = Worksheets("sheet1").Cells(i, 1) n = Val(a) s = Trim(Str(n)) Cells(i, 2) = s Next i End Sub ---- 123.400 123.4 34.40 34.4 123.0 123

その他の回答 (2)

回答No.3

全角数字を変換するなら次のようなコードで。ちなみにSplit関数の" "は全角スペースです。 詳細はヘルプ等でお調べください。 ================================================================== Dim A As String Dim B As Variant Dim C As String A = "3.400 X 4.550 X 2.400 1100 " B = (Split(A, " ", -1)) '全角スペースで区切って配列に格納 i = 0 For i = 0 To UBound(B) If InStr(B(i), ".") <> 0 Then '小数の場合のみ次の処理へ Do While Right(B(i), 1) = "0" B(i) = Left(B(i), Len(B(i) - 1)) 'いらない0を取り除く Loop End If C = C & B(i) & " " Next i

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

"3.400 X 4.550 X 2.400"という文字列を"3.4 X4.55 X 2.4"という文字列に変換したいのでしょうか? それとも、ただ単に"3.400"(半角)という文字列を"3.4"という文字列に変換したいのでしょうか? 前者であれば、多少複雑なコーディングしなくてはなりませんね。 後者であれば、 変換後 = CStr(Val(変換前の文字列)) ってな感じで可能です。

関連するQ&A

専門家に質問してみよう