0

一部のテキストを変更するためのコードが Excel マクロに含まれています。たとえば、

テキスト 111

001

コードが実行され、テキストが変更されますが、先頭のゼロが失われています。先頭のゼロを保持したい。私は多くのことを試しました

jRange.NumberFormat = "###"
.Replace "Text 333", "003", xlWhole, ReplaceFormat:=True

また、次のように列にフォーマットを設定しようとしました:

jRange.Columns("G").NumberFormat = "###"

ここにサンプルコードがあります

Sub FixIt()
Dim jRange As Range
Set jRange = ActiveSheet.Range("G2:G1000")


With jRange

.Replace "Text 111", "001", xlWhole
.Replace "Text 222", "002", xlWhole
.Replace "Text 333", "003", xlWhole
.Replace "Text 444", "077", xlWhole

End With
End Sub
4

2 に答える 2

2

開始点として、ワークシート全体をテキストとして書式設定します。これを行うには、列見出しの左側と行見出しのすぐ上にある小さなボタンをクリックします。これにより、ワークシート全体が選択されます。

次に、ホーム タブの [数値] グループで [テキスト] を選択します。

少し厳格であれば、それで十分です。

別の方法として、新しいセルが計算に含まれない場合は、各数値の前に一重引用符を付けます。例えば

.Replace "Text 333", "'003", xlWhole, ReplaceFormat:=True
于 2013-05-29T14:16:55.100 に答える
0

これが古い質問であることは承知していますが、より正確に答えるには、前回の試行を から に変更するのが正しい変更でし.NumberFormat = "###".NumberFormat = "000"0は で常に表示されるガイドラインとして機能しますが.NumberFormat#は「必要な場合」のガイドラインとして機能します。

于 2015-09-11T17:44:44.733 に答える