2016-06-13 17 views
1

Я работаю с объектом таблицы, и мне нужен код для сортировки по столбцу 3 и изменения любой ситуации, когда отображается дата (ммм-d) «Ян -0 «. Потому что я работаю с объектом таблицы, каждый раз, когда я пытаюсь ссылаться на столбец «Clock Out» (E), который отформатирован как таковой:Excel VBA - код, который не автозаполняет весь столбец таблицы с той же формулой

м/d/ууу чч: мм: сс AM/PM,

с фрагментом кода .formulaR1C1, он меняет каждую ячейку в столбце 3 на эту формулу. Это проблема, потому что я хотел бы, чтобы столбец C (Date) определялся значением в столбце D (Clock In), или, если столбец D пуст, тогда я бы хотел, чтобы он был заполнен значением в столбце E (Часы из).

В обоих случаях, как столбцы D, так и столбец E пустые.

currentSht.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(erow, ecol)), , xlYes).Name = "Table1" 
Set lst = currentSht.ListObjects("Table1") 
lst.ListColumns.Add Position:=3 
currentSht.Range("C2").Value = "=TEXT([@[Entry Time]],""mmm-d"")" 

lstHeaders = Array("", "ID", "Agent Name", "Date", "Clock In", "Clock Out") 
For i = 1 To 5 
lst.ListColumns(i).Name = lstHeaders(i) 
Next i 

***Concerning portion of code*** 
For i = erow to 1 step -1 
    if cells(i,3).TEXT = "Jan-0" Then 
     cells(i,3).Value = "=([@[Clock Out]],""mmm-d"")" 
    end if 
next i 

End Sub 

ответ

2

Я понял это, это сделал трюк:

For i = erow To 1 Step -1 
    If Cells(i, 3).Text = "Jan-0" Then 
     Application.AutoCorrect.AutoFillFormulasInLists = False '<~~ THIS LINE DID IT 
     Cells(i, 3).Value = "=TEXT([@[Clock Out]],""mmm-d"")" 
    End If 
Next i 
Смежные вопросы