Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
табель учета использования рабочего времени
 
Всем доброго времени суток.
Понимаю что не совсем в тему форума, но даже не представляю в какую сторону копать.
Есть excel файл (см. вложение) в котором указаны сотрудники школы и необходимо каждый месяц разносить часы по дням, делается это естественно вручную. Я добавил пару формул, но так как с файлом работает человек который в экселе не очень разбирается, то прям беда с каждым новым месяцем (из-за выходных дней) и приёмом нового сотрудника или увольнением старого. Все формулы "едут".
Вопрос может кто-то из присутствующих знает решение сей проблемы? Возможно программу какую не очень сложную, или делать например в рабочем файле, а в указанную форму выгружать данные.
Очень на вас надеюсь.
Условное форматирование. Смещается столбец.
 
Всем доброго времени суток.
Есть сводная таблица педагогов, в которой педагоги выполнившие условие выделяются зеленым цветом.
Формула выглядит так. =$E3>=10
Но вот беда данные получаются разные от недели к неделе, и итоговый столбец все время смещается. то на G. то на H.
Вопрос как прописать формулу чтобы всегда использовался последний столбец?  
Преобразовать файл Excel, с объединенными ячейками в нормальный файл.
 
Всем доброго времени суток.
Есть файл см. вложение.
Его заполнять и редактировать тот еще номер, такие файлы еще получаются при выгрузке с 1С, просьба подсказать как убрать эти многочисленные объединения ячеек?
Изменено: Николай - 20.11.2024 15:35:08
Получение значений из другого файла, (скорее всего макросом.)
 
Всем доброго времени суток.
Есть два файла, Отчет и report.
В Отчет, в столбце Исполнение, с учетом ячейки с пометкой (ДА) необходимо скопировать значения из соответствующих ячейки в report.
В Отчете, в строках без пометки данные заносятся вручную.
В файле report, в графе дата сохранена как "недата".
Формулами не получается реализовать, так как все время выскакивают ошибки в умной таблице.
А вот чтобы макросом реализовать знаний не хватает, посему и прошу помощи.
Копировать ячейку с одного листа на другой с учетом условий в соседней ячейке
 
Всем доброго времени суток.
Подскажите как переделать запись правильно что бы считал на указанном листе.
Код
Sub Расклад_по_классам()
Dim LastRow As Long, Rw As Long
LastRow = Worksheets("РАСЧЕТ").Cells(Rows.Count, 1).End(xlUp).Row
    With Sheets("Лист1")
        Rw = .Cells(Rows.Count, 5).End(xlUp).Row + 1
        For i = 2 To LastRow
             If Worksheets("РАСЧЕТ").Cells(i, 1) = "1А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "1Б" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "2А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "2Б" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "3А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "3Б" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "4А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "4Б" Then
                .Cells(Rw, 5).Value = Cells(i, 2)
                Rw = Rw + 1
            End If
        Next
          Rw = .Cells(Rows.Count, 8).End(xlUp).Row + 1
        For i = 2 To LastRow
             If Worksheets("РАСЧЕТ").Cells(i, 1) = "5А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "5Б" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "6А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "6Б" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "7А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "7Б" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "8А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "8Б" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "9А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "9Б" Then
                .Cells(Rw, 8).Value = Cells(i, 2)
                Rw = Rw + 1
            End If
        Next
         Rw = .Cells(Rows.Count, 11).End(xlUp).Row + 1
        For i = 2 To LastRow
             If Worksheets("РАСЧЕТ").Cells(i, 1) = "10А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "10Б" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "11А" Or _
             Worksheets("РАСЧЕТ").Cells(i, 1) = "11Б" Then
                .Cells(Rw, 11).Value = Cells(i, 2)
                Rw = Rw + 1
            End If
        Next
    End With
End Sub 


Сейчас if ищет на выделенном листе, а вот как указать выполнение на листе РАСЧЕТ?
Изменено: Николай - 13.03.2021 13:15:29
Количество учеников в классах с 1а по 4в
 
Всем доброго времени суток.
Есть таблица (см пример)
Вопрос как посчитать только учеников с 1А по 4Б, что то не могу найти подходящую формулу что так сказать одним махом а не суммировать подсчет каждой буквы по отдельности.
Макрос сохранения последнего видимого листа в отдельный файл "CSV (разделители - запятые)"
 
Всем доброго времени суток.
Нужен макрос, для сохранения последнего видимого листа в файл тип файла "CSV (разделители - запятые)".
Сохраняем в туже директорию с таким же именем как у исходного файла.
Как ни пробовал переделать шаблон ни чего путного не получается.
Изменено: Николай - 15.04.2019 18:47:23
Как трансформировать телефонную книгу в виде плоской таблицы с повторяющимися полями, в двумерную таблицу
 
Всем доброго времени суток.
После длительных манипуляций по восстановление телефонной книги получил файл вида, см вложение.
Где в два столбца по порядку записаны Имя, телефон1, телефон2 (если есть), группа, как мне представить это в таблицу с заголовками. Имя, телефон1, телефон2 (если есть), группа,
Изменено: Николай - 26.10.2018 06:01:57
Формирование ссылки макросом на предыдущий лист
 
Всем доброго времени суток.
Есть файл с листами январь, февраль и т.д.
Для примера необходимо на листе февраль в ячейке В3 сформировать ссылку на лист январь на ячейку С3
Как сие сделать с помощью макроса.
Чтобы в последствии запуская макрос на следующих листах так же создавалась ссылка на предыдущий лист а не на январь.
Пример приложил.
Умные таблицы. Сссылка из одной книги в другую.
 
Всем доброго времени суток.
Столкнулся с такой задачей.
В ячейке первой книги показать значение из итогового поля умной таблицы второй книги. И оказалось что значения отображаются пока открыта вторая книга. Если обе книги закрыть, а потом открыть первую книгу, то на месте значений будет вот такой текст #ССЫЛКА!
НО если во второй книге рядом с умной таблицей создать ячейки которые будут вросто равны значениям из умной таблицы, и в первой книге сослаться на них, то тогда данные будут нормально обновляться и храниться.
Получается нужно создавать дублирующие ячейки? По другому никак.
Для примера приложил два файла.
Макрос. Выбор файлов в каталоге.
 
Всем доброго времени суток.
В коде выбирается каталог и файлов не видно, что оказалось не удобно, что необходимо изменить в коде, чтобы пользователю нужно было выделять файлы при открытии каталога.

Код
Sub Микро_на_сдачу()
 
    Dim sFolder As String, sFiles As String
    'диалог запроса выбора папки с файлами
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = ThisWorkbook.Path & "\"        
        If .Show = False Then Exit Sub
        sFolder = .SelectedItems(1)
    End With
    sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
    'отключаем обновление экрана, чтобы наши действия не мелькали
    Application.ScreenUpdating = False
    sFiles = Dir(sFolder & "*№*.xlsm")
    Do While sFiles <> ""
        'открываем книгу
        Workbooks.Open sFolder & sFiles
        'действия с файлом
    'Заполняем формулы
    Worksheets("Микроучасток").Range("B2").Value = "ДАТА ОТЧЕТА"
    Worksheets("Микроучасток").Range("B3").Value = ThisWorkbook.Sheets(1).Range("K3")  'СОБСТВЕННО САМА ДАТА ОТЧЕТА
    Worksheets("Микроучасток").Range("B3").NumberFormat = "m/d/yyyy"
    'Закончили с формулами
 
        'Закрываем книгу с сохранением изменений
        ActiveWorkbook.Close True 'если поставить False - книга будет закрыта без сохранения
        sFiles = Dir
    Loop
    'возвращаем ранее отключенное обновление экрана
    Application.ScreenUpdating = True
     
End Sub
как научить макрос брать дату из ячейки проверяющего файла?
 
Всем доброго времени суток.
Условно.
Есть два файла.
Один рабочий второй проверяющий.
В проверяющем есть макрос который проходит по всем рабочим файлам (лежат в одном каталоге) и проставляет в них указанную в макросе дату.
Вопрос как научить макрос брать дату из ячейки проверяющего файла.
Пример приложил.
Изменено: Николай - 25.10.2017 07:49:16
Замена макросом макроса в модуле ЭтаКнига.
 
Всем доброго времени суток.
Есть книга в ней в модуле ЭтаКнига есть макросы, как все эти макросы удалить и записать по новой.
Как удалить вроде нашел,
http://www.excel-vba.ru/chto-umeet-excel/kak-udalit-makrosy-v-knige/
но вот как туда скопировать то что нужно?
Изменено: Николай - 21.10.2017 07:24:52
После выполнения макроса, сохранение книги - ошибка - VBA
 
Всем доброго времени суток.
Есть пара макросов в личной книге макросов.
Первый.
Код
Sub Подготовка_Микро_уч()
'
' Подготовка_Микро_уч Макрос
'
    Sheets("Приложение № 7 ").Select
    ActiveSheet.Unprotect
    Sheets("Приложение № 3 ").Select
    ActiveSheet.Unprotect
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    Sheets("Приложение № 7 ").Select
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    Application.DisplayAlerts = False
    Sheets("Техническая часть").Delete
    Sheets("Вводные").Visible = -1
    Sheets("Вводные").Delete
    Sheets("WARNING").Visible = -1
    Sheets("WARNING").Delete
    Application.DisplayAlerts = True
    Sheets("Титульный").Select
    Range("A1").Select
    Sheets("Микроучасток").Select
    Range("Таблица1[[#Headers],[№ п.п]]").Select
    ActiveWindow.Zoom = 100
    Dim Sh As Worksheet
    Dim iObj As ListObject
    For Each Sh In Worksheets
    For Each iObj In Sh.ListObjects
        iObj.Unlist
    Next
    Next
    Dim oVBComponent As Object, lCountLines As Long
    Set oVBComponent = ActiveWorkbook.VBProject.VBComponents("ЭтаКнига")
    With oVBComponent
        lCountLines = .CodeModule.CountOfLines
        .CodeModule.DeleteLines 1, lCountLines
    End With
    Set oVBComponent = Nothing
    Dim n As Variant
    For Each n In ActiveWorkbook.Names:
    On Error Resume Next
    n.Delete:
    Next
'Call Macro2
End Sub

Второй.
Код
Sub Macro2()
   ChDir "D:\Users\user\Desktop\Новая папка"
    ActiveWorkbook.SaveAs FileName:= _
        "D:\Users\user\Desktop\Новая папка\" & ActiveWorkbook.Name & ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        Application.DisplayAlerts = False
        Application.Quit       
End Sub

По отдельности (по горячим клавишам) отрабатывают оба нормально.
А если прописать выполнение второго в первом, то выскакивает ошибка.
Удалить макрос макросом в ЭтаКнига.
 
Всем доброго времени суток.
Нужно в книге в разделе ЭтаКнига удалить макросы. Что-то не выходит. Пишет 1004 ошибка. Выделяя цветом строку три, указанного ниже кода.
Есть файл (пример приложил) в личной книге макросов создан макрос.
Код
Sub Delete_Macroses_In_One_Comp()
    Dim oVBComponent As Object, lCountLines As Long
    Set oVBComponent = ActiveWorkbook.VBProject.VBComponents("ЭтаКнига")
    With oVBComponent
        lCountLines = .CodeModule.CountOfLines
        .CodeModule.DeleteLines 1, lCountLines
    End With
    Set oVBComponent = Nothing
End Sub


Но при попытке запуска по горячим клавишам пишет ошибка. И не удаляет из открытой книги макросы, которые расположены в разделе ЭтаКнига.
Помогите что не так.
Изменено: Николай - 03.10.2017 18:01:24
Таблицу преобразовать в диапазон
 
Всем доброго времени суток.
Как преобразовать таблицу на листе в диапазон с помощью макроса.
Пробовал записать через макрокодер, но он окромя выделения ячейки не чего не пишет.
Что в итоге: я перешел на страницу запустил макрос, он выделил таблицу (одна на странице) и преобразовал её в диапазон.
Не разрываются связи с другими книгами
 
Всем доброго времени суток.
Есть книга где на каждом листе есть проверка данных и включен автофильтр, нужно отключить проверку данных так как из-за этого не разрываются связи с другими книгами.
Через запись макросов записал макрос снятия автофильтра, и снятия защиты проверки данных.
Как видоизменить макрос что бы он прошел по остальным листам книги сам?
Вот макрос.
Код
Sub Макрос1()
    Selection.AutoFilter
    Cells.Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub

За ранее благодарен за помощь.
Не хочет сохранять листы в книги.
 
Всем доброго времени суток.
При выборе кнопки сохранить как файлы.
По одному листу сохраняет без проблем, но если все то пишет.
Run-time error '1004':
Невозможно скопировать или переместить группу листов, содержащих таблицу.

Кто подскажет куды копать?
Первый лист из книги в другой файл с именем листа как у файла.
 
Всем доброго времени суток.
Есть макрос
Код
Sub CombineWorkbooks()
    Dim FilesToOpen
    Dim x As Integer
  
    Application.ScreenUpdating = False  'отключаем обновление экрана для скорости
      
    'вызываем диалог выбора файлов для импорта
    FilesToOpen = Application.GetOpenFilename _
      (FileFilter:="All files (*.*), *.*", _
      MultiSelect:=True, Title:="Files to Merge")
  
    If TypeName(FilesToOpen) = "Boolean" Then
        MsgBox "Не выбрано ни одного файла!"
        Exit Sub
    End If
      
    'проходим по всем выбранным файлам
    x = 1
    While x <= UBound(FilesToOpen)
        Set importWB = Workbooks.Open(Filename:=FilesToOpen(x))
        Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
        importWB.Close savechanges:=False
        x = x + 1
    Wend
  
    Application.ScreenUpdating = True
   
End Sub


Макрос копирует из всех выбранных книг первый лист в книгу из которой запущен.
Вопрос, что добавить в макрос чтобы названия скопированных листов, соответствовали названию файлов из которых были скопированы.
Сортировка названий приказов по номерам.
 
Всем доброго времени суток.
С помощью макроса, получаем названия приказов в таблицу.
При сортировке от А до Я сортирует.
1
1.1
100
120
2
2.2
20
И т.д.
Как сортировать по порядку? 1.2.3 и т.д.
 
Из даты вычесть дробные года.
 
Всем доброго времени суток.
Встал вопрос вычесть из указанной даты (день, месяц, год) 18 лет., 7.5 года., 8 лет и т.д.
В моем понимании получается, что как перевести необходимое количество лет в точное количество дней (с учётом високосных) от текущей даты.
Сейчас использую просто умножение кол-во лет на 365, но получается не точно.
И если с целыми годами в принципе все понятно (спасибо форуму нашёл формулу (=ДАТА(ГОД(A2)+B2;МЕСЯЦ(A2);ДЕНЬ(A2))))
То вот с дробными годами не работает, округляет.
Как сие побороть, что-то как не искал не смог найти. Хотя наверняка такая тема подымалась и не раз.
Помогите пожалуйста.
Изменено: Николай - 07.02.2017 09:33:30
После отмены блокировки выполнить другой макрос
 
Всем доброго времени суток.
С помощью данного форума, вернее сказать формучан, сделано очень много для автоматизации подсчёта детей в нашей школе.
За что им огромное спасибо.
Но возникло пару вопросов.
При заполнении файла работает контроль который не даёт сохранить файл если некоторые ячейки не заполнены. (выделено красным)
Так же есть запрос на включение макросов.
И тут возникает затруднение.
Если не заполнить необходимую ячейку и нажать на крестик закрытия файла, потом ОК, а потом отмена, то пользователь оказывается на странице блокировки, где есть кнопочка ЖМИ.
После нажатия кнопки блокировка снимается.
Вопрос как сделать так чтоб по нажатию отмена, происходило автоматическое исполнение макроса "показать"
Изменено: Николай - 27.10.2016 12:13:39
Сбор данных из других книг, помощь в оптимизации кода макроса
 
Всем доброго времени суток.
Благодаря данному форуму и форумчанам, получилось создать файл для подсчета детей по микроучасткам.
НО получилось немного коряво так как практически совсем не разбираюсь в макросах.
Опишу проблему:
В файлах, из которых собирается информация, применен макрос на отслеживание разрешения на запуск макросов.
Вот отсюда.
И из-за этого файл который собирает данные (все микроучастки) из этих книг перестал собирать номер микроучастка из ячейки B1
Я прикладываю три файла.
1. Сборщик (все микроучастки)
2. Файл 001 с макросом на проверку разрешения запуска.
3. Файл 002 без выше указанного макроса.

При получении информации из файлов 001 и 002 номер 2-го микроучастка отображается в первом столбике, а вот номер 1(первого) не отображается из файла 001 и ячейки B1 (хотя естественно там есть значение - 1 (единица))
Прошу помощи в оптимизации кода сбора листов из файлов (макрос Consolidated_Range_of_Books_and_Sheets в файле все микроучастки.)

http://rgho.st/7dBb9SFY5
Изменено: Николай - 18.09.2016 15:29:03
Обязательное заполнение ячеек при условии
 
Всем доброго времени суток.
Возможно ли путем не сложных комбинаций не сохранять книгу если определенные ячейки не заполнены?
Если это реализовать сложно, то просто подсвечивать не заполненные ячейки красным.
Собственно задача, при заполнении ФИО необходимо также заполнить и следующие ячейки в строке,
Если же дети по адресу не проживают или пустая строка то заполнять естественно не надо.
Файл приложил.
Выбор значений из строк по параметрам и создание из них таблицы.
 
Всем доброго времени суток.
Сформулировал название темы как смог.
Думаю что все станет понятно после просмотра примера.
Как я только не пробовал никак не могу сию задачу решить.
Нужно на втором листе отобрать всех детей (значения ячеек) в возрасте от 6.6 до 8 лет включая концы, на указанную дату из первого листа и расположенной на нем таблицы.
Первые две строки просто заполнил вручную.
Изменено: Николай - 10.09.2016 17:35:39
Скрыть ошибку при выполнении макроса
 
Есть элементарный макрос.
Код
Sub Удаление_таблицы()
    Range("C12:L" & Cells(Rows.Count, 3).End(xlUp).Row).Delete
End Sub

Вот беда если таблицы нет, то выскакивает окошко с ошибкой код 1004
Как сделать так что бы эксель не показывал это окошко?
Счет количества детей по возврасту
 
Всем доброго времени суток.
Никак не могу сообразить как сделать, да и поиском ничего подобного найти не могу.
Нужно из массива(таблицы) посчитать детей по количеству полных лет на заданную дату.
То есть возраст 3 года - 5 детей, 4года - 3ребенка, ну и т.д.
НО без создания дополнительных столбцов. (ну или с созданием онных, но как тогда это оформить.)
Файл примера прилагаю.
Изменено: Николай - 09.09.2016 06:34:42
Выбрать по году рождения
 
Всем доброго времени суток.
С началом учебного года снова появились вопросы.
Необходимо сформировать таблицу из массива данных.
А именно посчитать количество детей ходящих в определенный садик и определенного года рождения.
Дата рождения записана в одной ячейке, а нужно отобрать по году рождения.
файл приложил, по саду отбираю без проблем а вот как год посчитать?
СЧЁТЕСЛИМН по двум условиям второе условие диапазон.
 
Всем доброго времени суток.
Поиском ничего найти не смог, мобыть такого через данную функцию вообще реализовать нельзя.
Необходимо выбрать все данные которые соответствую первому условию, (в примере возраст ниже 7 лет)
Второе условие чтобы дети ходили в один из садиков - ДОУ (в любой садик)
В примере подсчет ведется только по возрасту, и детей пятеро. НО ходит в садик только 4 как выбрать тех кто ходит?
Если просто указать весь диапазон с садиками Вводные!H5:H11 то формула просто рисует НОЛЬ, а вот как сделать чтобы было условие ИЛИ?
Копирование Таблиц (их части) из других книг.
 
Всем доброго времени суток.
Есть 18 файлов подобного типа.(см. прикрепленный файл)
Обход по микроучасткам (разделение населенного пункта на районы и по дворовой обход, на предмет наличия детей)
С подсчетом разобрался сам.
Спасибо местным знатокам от всей души.
Все файлы созданы из одного, так что все адреса ячеек одинаковые.
Таблица1 (на первом листе) в каждом файле имеет разное кол-во строк.
Как собрать данные в единую таблицу не могу никак придумать как реализовать.
Пока вставляю вручную, как сие автоматизировать.
Нужно в точно такой же файл вставить данные (а не значения) из Таблицы1 других файлов
Чтобы получилась единая таблица по всем микроучасткам.
Совсем забыл, И чтоб формула в последнем столбце (возраст) не ссылалась на старый файл.
Изменено: Николай - 06.04.2016 09:46:20
Страницы: 1 2 След.
Наверх