数字の列があり、数値がゼロで始まる場合は列の各セルから先行ゼロを削除する必要があります。数字の文字列の先頭にゼロを削除するVBA
答えて
てみてください、
with worksheets("Sheet1")
with .columns(1)
.numberformat = "General"
.texttocolumns destination:=.cells(1), _
datatype:=xlFixedWidth, fieldinfo:=Array(0, 1)
end with
end with
はうまくいった!ありがとう! – khert87
.............非常に優雅! –
[最初の要素は列番号(1-based)です](https://msdn.microsoft.com/en-us/library/office/ff193593.aspx)なぜあなたの開始は0ですか? – findwindow
番号に変換すると、あなたは、このUDFが機能するための実行可能な解決策ではない場合:
Function StripLeadingZeros(MyString As String)
Dim X As Long
For X = 1 To Len(MyString)
If Left(MyString, 1) = "0" Then
MyString = Right(MyString, Len(MyString) - 1)
Else
Exit For
End If
Next
StripLeadingZeros = MyString
End Function
私はあなたを介して反復処理する方法を見つけ出すことができると確信してい各セルでは、以下のコード例でそのことを実証するつもりはありません。これはトリックを行います。 A4を処理する必要がある各セルに置き換えます。
Dim My_Number As String
Dim i As Integer
My_Number = Range("A4")
For i = 1 To Len(My_Number) - 1
If InStr(1, My_Number, "0") = 1 Then
My_Number = Right(My_Number, Len(My_Number) - 1)
Else
Range("A4") = My_Number
Exit For
End If
Next
Instrは、文字列の最初の位置でゼロを探しています。もし見つかった場合、ゼロを見つけると、次の行は最初の文字列以外のすべての文字列(ゼロ)をセルに書き込みます。
先頭にゼロが1つ以上ある場合はどうなりますか? – findwindow
ねえ、上のコードセクションを更新しました。基本的には文字列をループし、最初の文字を調べてゼロを調べます。これを行う方法はおそらく100種類あります。 – Dammer15
これはダンが何をしたのですか? – findwindow
- 1. R:文字列の先頭から先頭のゼロを削除する
- 2. 文字列の先頭に数字以外の文字を削除します
- 3. perl:英数字ストリングで先頭のゼロを削除する
- 4. 削除文字列「foo」と先頭と
- 5. 文字列の書式設定、先頭の文字の削除
- 6. REGEXPヘルプ文字を削除するヘルプ||先頭の数字|| = sign
- 7. 文字列の先頭から非文字を削除する方法
- 8. 文字列の先頭の空白を削除します。
- 9. SQLの文字列の先頭から文字を削除します
- 10. 先頭のゼロと文字列を比較する
- 11. 各文字列の先頭文字を大文字にする
- 12. JSONの先頭にゼロが付いた文字列ですか?
- 13. 文字列の先頭と末尾にある文字を削除せずに、文字列から特定の文字を削除します。
- 14. 行の先頭から2文字を削除するには
- 15. 文字列の先頭の文字列を除外する正規表現
- 16. 文字列[0]文字列の先頭文字を取得
- 17. 先頭の文字を削除する正しい方法
- 18. 文字列の先頭からPHP配列の暗黙文字を削除するには
- 19. ファイル名の先頭から4文字と13文字の文字列を削除します
- 20. Excel VBA文字列のUnicode文字を削除する
- 21. 文字列の文字を削除するVBA
- 22. 文字列の先頭と末尾の句読点を削除するC++
- 23. Javascript文字列の先頭と末尾にのみ文字を削除するREGEXです。
- 24. 文字列の先頭を無視して重複を削除する
- 25. 文字列の先頭と末尾に角括弧を削除します。
- 26. keydown入力時に文字列の先頭文字を大文字にする
- 27. 文字列の先頭にある匿名の文字
- 28. ANT:文字列から先頭と末尾の空白を削除する
- 29. Oracle SQL - 先頭のパターン化された部分文字列を削除する
- 30. 長い(チャット)になると文字列の先頭から削除
セルを数値ではなくテキストとしてフォーマットすると、Excelがこれを行います。 –
あなたは 'if isnumeric(activecell)、次にactivecell.Value = cdbl(activecell.Value)'のようなものを試しませんでしたか? – PatricK