У меня есть часть решения, но оно не работает, как я надеюсь, поэтому я пришел к вам за советом.Формат диапазона столбцов на основе их названия - Excel
Я регулярно получаю файлы Excel, где мне нужно изменить форматирование. Я пытаюсь изучить VBA, автоматизируя как можно больше этих процедур.
Один конкретный формат, который я заполняю, преобразует дату в «DDMMYYYY» (09091986), где он обычно приходит как 09/09/1986.
В моем рабочем листе есть три столбца, содержащие даты, все из которых нуждаются в том же форматировании, и все они имеют слово «DATE» в заголовке. Они не смежны друг с другом.
Я также должен быть осторожным, чтобы другие данные не пострадали, поскольку у меня есть имена и адреса, которые могут содержать символы «DATE».
Итак, фоном из пути ... Я пытаюсь выполнить поиск в первой строке, пока не найду слово «Дата», а затем отформатируйте это для каждой ячейки до последней строки, прежде чем переходить к следующему столбцу содержащий слово «DATE» и повторяя его до тех пор, пока все столбцы со словом «DATE» не будут отформатированы.
Уверен, у вас есть простое решение, но я не могу найти его сам.
Вот код, у меня есть ...
Sub Dateformat()
Dim LastRow As Integer
Dim FindCol As Integer
Dim C1 As Integer
LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
FindCol = Cells.Find(What:="DATE", LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Column
For C1 = 2 To LastRow
Cells(C1, FindCol).NumberFormat = "DDMMYYYY"
Next C1
End Sub
Это работает для первого столбца, содержащего дату, но не переходить к следующему колонку.
Спасибо за помощь
С уважением, Адам
Есть ли какие-либо другие ** заголовки столбцов **, которые могут содержать слово в них, кроме 3, которые вам нужно отформатировать? –
Почему бы просто не использовать пользовательский формат: 'ddmmyy'? Нет необходимости в vba. Выделите нужные столбцы и примените собственный формат. –
Нет, мы можем использовать «Date» для столбцов, так как не будет никаких других столбцов с заголовком, содержащим «Date». –