今日、私は.trim()vba関数を使ってデータを整理していました。それが起こったけれど。に変更される、と私は理由が分からない。Excel VBA .Trim関数が変更されます。 to、
Cells(rw, j).Value = Trim(Cells(rw, j).Value)
は私がしたすべてで、次のように値を変更:
5.2 - >同じ列に値が含まれているものの、それがローカル設定が原因であると思うかもしれない5,2
ワン(3)(6.1)のようなものです。事前
今日、私は.trim()vba関数を使ってデータを整理していました。それが起こったけれど。に変更される、と私は理由が分からない。Excel VBA .Trim関数が変更されます。 to、
Cells(rw, j).Value = Trim(Cells(rw, j).Value)
は私がしたすべてで、次のように値を変更:
5.2 - >同じ列に値が含まれているものの、それがローカル設定が原因であると思うかもしれない5,2
ワン(3)(6.1)のようなものです。事前
ゴーで
おかげファイルへ - [オプション] - [詳細]をして利用システムの区切りを探します。小数点区切り文字を使用します。そして、なるように桁区切り、
あなたはまた、次のコードを使用してVBAでこれらを変更することができます。
Cells(rw, j).Value = "'" & Trim(Cells(rw, j).Text)
:あなたはこれらの設定を変更し、にあなたのコードを変更したくないので
Application.DecimalSeparator = "."
Application.ThousandsSeparator = ","
Application.UseSystemSeparators = False
を
.Textは、数字に変換しようとするのではなく、セル内の文字列バージョンを提供します(数字のように見える場合)。
あなたのグローバルシステム/この1つのアプリケーションの設定をエクセル変更したくない場合は、あなたのような何かをテキストに値を強制的に試みることができる:あなたのコメントに基づいて、また
With Cells(rw, j)
.NumberFormat = "@"
.Value = Trim(Cells(rw, j).Value)
End With
は:
With Cells(rw, j).Value = "'" & Trim(Cells(rw, j).Value)
あなたはこれを試すことができます。
Dim temp As String
temp = Cells(rw, j).Value
temp = Trim(temp)
Cells(rw, j).Value = temp
は、残念ながら、私はそれをテストすることはできません。
'Cells(rw、j).Value = Trim(セル(rw、j))' – Shrikant
そのセルの '.NumberFormat'とは何ですか? – braX
私は自分の家がローカルの設定だと思っています。 '3(6.1)'が小数点を保持するのは、この値が文字列として解釈されることです。 – Ambie