以下は、ワークシート3以降のスプレッドシート内のテキストとしてすべてのセルを書式設定するために使用されるSubです。あなたが見るように、太字で、私が最も変わる必要がある線があります。この行の目的の1つは、すべてのシートで '00001'値で構成されているため、このコードで変換された値が '1'に変更されるため、Column1(「クライアントID」)の値をそのまま維持することです。それは間違っている。重要なことは、すべてのワークシートのColumn1には常に同じ '00001'値が含まれていることです。VBAすべてのセルをテキストとしてフォーマットする
私の問題は、1つのワークシートに、数値の前に000sを付けるColumn6( "値")があることです。行を以下のように変更すると、マクロは依然としてColumn6の値から先行する000を削除します。私は条件が私が思ったほど簡単ではないと思う。
If Not IsEmpty(Cell.Value) And IsNumeric(Cell.Value) And
InStr(wsTemp.Cells(1, Cell.Column), "Client ID") <= 0 And
InStr(wsTemp.Cells(6, Cell.Column), "Value") <= 0 Then
お勧めはありますか?
あなたがの形式を変更することができますクライアントIDが設定された文字数であることがわかっている場合は、セル/列をカスタム形式に変換して先行ゼロを表示します。あなたはまだそれを数字として扱うことができます。 VBAを使用してこの形式を設定できますが、クライアントコードが7桁の長さの場合は0000000のようなカスタム形式を使用します。 –