Поскольку мои знания VBA не являются обширными, я обычно записываю нужные мне макросы. Поскольку у меня есть столбцы с датой и временем в одной и той же ячейке, я использовал функцию «Text to Columns» Excel и записал ее, используя код ниже. Однако, когда в любой строке есть пустая ячейка, все ячейки ниже, которые не отформатированы!Код VBA для продолжения форматирования с использованием текста в столбце, когда некоторые ячейки пустые
В моих поисках я обнаружил, что решение основано на цикле кода для выполнения ячейки действия по ячейке, но я не нашел, как сделать то, что нужно, используя это, плюс выглядит чрезвычайно сложно!
Я спрашиваю, есть ли способ игнорировать пустые ячейки и продолжить форматирование.
Это код текста в колонку, но есть ли код, который я могу добавить до или после, чтобы игнорировать пустые ячейки и сохранить код ниже?
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)). – Jeeped
Спасибо вам большое! Чтобы ответить на ваш вопрос, я просто удаляю столбцы, которые я вставил вправо, которые я создал, чтобы поместить время после использования команды «Текст в столбец», но мне не нужны времена, поэтому я удаляю эти столбцы! –
Привет! Хотел сообщить вам, что мне удалось найти простой способ сделать это, не зацикливая и не удаляя столбцы! К сожалению, я использую Select! Столбцы («R: T»). Выберите Selection.NumberFormat = "m/d/yyyy" –