И еще раз здравствуйте. На этот раз у меня возникли еще трудности. Допустим заполнил я график выходов, а его еще нужно скопировать в другой график, а это другой файл. Вот как бы сделать так чтобы при нажатии кнопки "копировать" в моем графике я смог бы выбрать этот другой файл и заполнить его сменами. В примерах описание. Заранее всем откликнувшимся спасибо.
И еще раз здравствуйте. На этот раз у меня возникли еще трудности. Допустим заполнил я график выходов, а его еще нужно скопировать в другой график, а это другой файл. Вот как бы сделать так чтобы при нажатии кнопки "копировать" в моем графике я смог бы выбрать этот другой файл и заполнить его сменами. В примерах описание. Заранее всем откликнувшимся спасибо.Jester
К сообщению приложен файл:_1.xlsm
(54.5 Kb)
·
_2.xlsx
(17.9 Kb)
Jester, не поняла немного: надо скопировать тех людей, чьи фамилии есть во втором файле? Или обновить список сотрудников (все фамилии из 1-го файла)? проверяйте, так?:[vba]
Код
Sub копировать() Application.ScreenUpdating = False With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = False .Filters.Add "Excel files", "*.xls*" .InitialFileName = ThisWorkbook.Path If .Show <> -1 Then Exit Sub Set wb = Workbooks.Open(.SelectedItems(1)) End With Dim c1&, c2&, lr& c1 = 9: c2 = 39 With wb.Sheets(1) lr = .Cells(Rows.Count, 5).End(xlUp).Row Set sh = ThisWorkbook.Sheets("График") For i = 6 To lr Step 3 Set empl = sh.Columns(5).Find(.Cells(i, 5).Value, , , xlWhole) If Not empl Is Nothing Then Range(.Cells(i, c1), .Cells(i, c2)) = Range(sh.Cells(empl.Row, c1), sh.Cells(empl.Row, c2)).Value With Range(.Cells(i + 2, c1), .Cells(i + 2, c2)) .Value = Range(sh.Cells(empl.Row + 2, c1), sh.Cells(empl.Row + 2, c2)).Value .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, Formula1:="=RC=""ОТ""" .FormatConditions(.FormatConditions.Count).SetFirstPriority With .FormatConditions(1).Interior .Color = 8318769 End With End With End If Next i End With End Sub
[/vba]
из файла:
Цитата
Также необходимо сделать заполнение дней рождения с листа ДР как и отпуска в автоматическом режиме
не поняла что и куда переносить. В любом случае к данной теме это не относится
Jester, не поняла немного: надо скопировать тех людей, чьи фамилии есть во втором файле? Или обновить список сотрудников (все фамилии из 1-го файла)? проверяйте, так?:[vba]
Код
Sub копировать() Application.ScreenUpdating = False With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = False .Filters.Add "Excel files", "*.xls*" .InitialFileName = ThisWorkbook.Path If .Show <> -1 Then Exit Sub Set wb = Workbooks.Open(.SelectedItems(1)) End With Dim c1&, c2&, lr& c1 = 9: c2 = 39 With wb.Sheets(1) lr = .Cells(Rows.Count, 5).End(xlUp).Row Set sh = ThisWorkbook.Sheets("График") For i = 6 To lr Step 3 Set empl = sh.Columns(5).Find(.Cells(i, 5).Value, , , xlWhole) If Not empl Is Nothing Then Range(.Cells(i, c1), .Cells(i, c2)) = Range(sh.Cells(empl.Row, c1), sh.Cells(empl.Row, c2)).Value With Range(.Cells(i + 2, c1), .Cells(i + 2, c2)) .Value = Range(sh.Cells(empl.Row + 2, c1), sh.Cells(empl.Row + 2, c2)).Value .FormatConditions.Delete .FormatConditions.Add Type:=xlExpression, Formula1:="=RC=""ОТ""" .FormatConditions(.FormatConditions.Count).SetFirstPriority With .FormatConditions(1).Interior .Color = 8318769 End With End With End If Next i End With End Sub
[/vba]
из файла:
Цитата
Также необходимо сделать заполнение дней рождения с листа ДР как и отпуска в автоматическом режиме
не поняла что и куда переносить. В любом случае к данной теме это не относитсяManyasha