VBAに関する知識が豊富ではないため、通常は必要なマクロを記録します。同じセルにDateとTimeの両方の列があるので、Excelの「Text to Columns」機能を使用し、それを記録し、以下のコードを用意しました。しかし、いったん空白のセルがあれば、その下のセルはすべてフォーマットされません!一部のセルが空白のときにテキストを使用してテキストを使用して書式設定を続けるVBAコード
私の検索では、ソリューションがセルごとにアクションセルを実行するコードをループしていることがわかりましたが、それを使用する方法を見つけられず、さらには非常に複雑に見えます。
空白のセルを無視して書式設定を続行する方法があるかどうかを確認しています。
これはText to Columnコードですが、前または後に空白のセルを無視してコードを残しておくコードはありますか?適切な列に
Columns("S:S").Select
Selection.Insert Shift:=xlToRight
Range("R2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.TextToColumns Destination:=Range("R2"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 2), Array(9, 1)), TrailingMinusNumbers:=True
Columns("S:S").Select
Selection.Delete Shift:=xlToLeft
Columns("T:T").Select
Selection.Insert Shift:=xlToRight
Range("S2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.TextToColumns Destination:=Range("S2"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 2), Array(9, 1)), TrailingMinusNumbers:=True
Columns("T:T").Select
Selection.Delete Shift:=xlToLeft
Columns("U:U").Select
Selection.Insert Shift:=xlToRight
Range("T2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.TextToColumns Destination:=Range("T2"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 2), Array(9, 1)), TrailingMinusNumbers:=True
Columns("U:U").Select
Selection.Delete Shift:=xlToLeft
[.TextToColumns](https://msdn.microsoft.com/en-us/library/office/ff193593.aspx)を処理して列を削除する理由は不明です。 ** xlSkipColumn **([xlColumnDataType Enumeration](https://msdn.microsoft.com/en-us/library/bb241018.aspx)を参照)を使用して2番目の列をスキップできます。 – Jeeped
ありがとうございました!あなたの質問に答えるために、私はちょうどテキストを列コマンドを使用して後に時間を置くために作成した私は右に挿入した列を削除していますが、私はそれらの列を削除するので、時間が必要ない! –
こんにちは!列をループしたり削除したりすることなく簡単に行うことができたことを知りたいと思っていました。残念ながら私はセレクトを使用しています!列( "R:T")を選択 Selection.NumberFormat = "m/d/yyyy" –