в примере необходимо добавить не достающих дат, и добавить табель. Есть макрос с добавлением дат, но он работает только по одному сотруднику. Как исправить по кодам макроса чтобы добавили дату всех сотрудников.
Код
Sub MyDateAdd()
Dim Sh, FUN As Object
Dim MyRange As Range
Dim MyCol, FirstRow, i, MaxDays, MyMonth, MyYear As Long
Dim TempDate As Date
Set FUN = Application.WorksheetFunction
Set MyRange = Application.InputBox("Выделите таблицу для обработки польностью", Type:=8)
Set Sh = MyRange.Parent
FirstRow = MyRange.Row + 1
MyCol = MyRange.Column
MyMonth = Month(Sh.Cells(FirstRow, MyCol).Value)
MyYear = Year(Sh.Cells(FirstRow, MyCol).Value)
MaxDays = Day(FUN.EoMonth(FUN.Max(MyRange.Columns(1)), 0))
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
i = 1
Do While i <= MaxDays
TempDate = DateSerial(MyYear, MyMonth, i)
If Sh.Cells(i + 1, MyCol).Value <> TempDate Then
Sh.Rows(i + 1).Insert
Sh.Cells(i + 1, MyCol).Value = TempDate
i = i + 1
Else
i = i + 1
End If
Loop
Sh.Range(Sh.Cells(FirstRow, MyCol + 1), Sh.Cells(FirstRow, MyRange.Columns.Count)).NumberFormat = "[h]:mm:ss"
Sh.Range(Sh.Cells(FirstRow, MyCol), Sh.Cells(FirstRow, MyRange.Columns.Count)).Copy
Sh.Range(Sh.Cells(FirstRow, MyCol), Sh.Cells(MaxDays + 1, MyRange.Columns.Count)).PasteSpecial xlPasteFormats
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Юрий, добрый день! Честно, не знаю как правильно назвать тему, поэтому написал автозаполнение. насчет коды вышлю снова без пустых строк. ( во вложении)
DOC, сперва базу выгрузка из программы, в нем нужно добавить пропущенные даты и отразить табелей сотрудника... в сводной таблице знаю как делать но, у меня не получается отразить табелей сотрудника. Вы сможете мне оставить ваш пример, я разберусь...