私のプロジェクトで先行0を取得して維持するのは苦労しています。ここでは、コードの現在の関連部分です:先行0の保持/挿入
Dim jobNum As String
jobNum = Left(r1.Cells(1, 1), 6)
r2.Cells(1, JOBCOL) = (jobNum)
r2.Cells(1, JOBCOL).NumberFormat = "@"
は~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ スタッフは私が試してみた -
r2.Cells(1, JOBCOL) = CStr(jobNum)
を - 多分問題だということを貼り付けているため、文字列モードでそれを維持しようとしていますか?
If Len(jobNum) = 4 Then
jobNum = "'00" & jobNum
Else
jobNum = jobNum
End If
[OK]を正常に読み取ることができない場合は、手動で追加できますか? (予想される長さは、長さレジスタは4として、私は問題を持っている、と私は2つの主要な0年代に追加する必要がある場合、6である)
そして最後に、それを得るために私の試みは、最初の場所で適切に読み取るために:
Dim Jobnum as String
Dim Jobnumfixed as Integer
jobNum = Left(r1.Cells(1, 1), 6)
jobnumfixed = format (jobnum, "000000")
私はこれらのすべてをExcel VBA Won't Keep Leading Zeroesから取った。しかし、それらのどれも私のシートにいくつかの先頭の0を取得して保つことである、期待された結果に終わったことはありません。私は間違って何をしていますか?これを修正するにはどこで調べるべきですか?
ありがとうございます
編集:それが動作するように管理。 jobNum = left(r1.Cells(1,1)、6)がjobNum =( "'" & Left(r1.Cells(1,1)))になりました。ハレイ!ここで
先行ゼロを維持するためにセルをテキストとしてフォーマットします – Sorceri
ジョブ番号は数字またはテキストである必要がありますか?テキストの場合は、データを入力する前にセルをテキストとしてフォーマットする@Sorceriの提案を行います。数字の場合は、 "000000"のカスタム書式を使用して、先頭にゼロを付けて6桁の数字を表示します(4は000004、123は000123になります)。 – Blackhawk
...「カスタム書式」と言うとき、私は「書式」機能を意味するのではなく、リボンの「ホーム」タブの書式ドロップダウンを意味します。 – Blackhawk