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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 След.
Комбинатор алфавита для простой шифровки текста, Нужно создать простой шифратор с русского на русскую абракадабру (по усмотрению пользователя)
 
Для детей воспользуйтесь файлом Coder_decoder.xlsm ключ  step=1, А меняется на Б, Г на Д и т.д
Комбинатор алфавита для простой шифровки текста, Нужно создать простой шифратор с русского на русскую абракадабру (по усмотрению пользователя)
 
Попробуйте так..
Изменено: Маугли - 09.01.2023 09:09:06 (Так лучше)
Удаление комбинаций чисел или слов при совпадении, Удаление комбинаций чисел или слов при совпадении
 
Решение не верно.
Изменено: Маугли - 20.12.2022 10:59:53 (Решение не верно.)
Подсвечивать нажатые кнопки, Кнопки-макросы
 
Вместо индексов примените имя кнопки в кавычках.
Подсвечивать нажатые кнопки, Кнопки-макросы
 
Как вариант..
Включение и отключение макроса с помощью кнопки
 
Попробуйте так..
Как вставить рабочую формулу в фигуру.
 
Попробуйте так..
Применение формулы для расширяющегося диапазона
 
Огромное СПАСИБО!
Применение формулы для расширяющегося диапазона
 
Добрый день, форумчане!
Как протянуть ячейку A5 вниз, чтобы получить требуемый результат формулой
Формулы показаны для понимания  счета
Изменено: Маугли - 09.11.2019 12:20:32
Пакетная обработка текстовых файлов в итоговый Excel, Вытаскивание цифровых значений из текстового файла
 
Попробуйте так..
Этот файл и ваши текстовые должны лежать в отдельной папке
Тема:Пакетная обработка текстовых файлов в итоговый  Excel
Код
Sub ПакетнаяОбработка()
    Dim f$, v(1 To 1, 0 To 5), n&, x
    ChDir ThisWorkbook.Path
    f = Dir("*.txt")
    On Error Resume Next
    Do While Len(f)
        Open f For Input As #1
        v(1, 0) = f
        For Each x In Split(Input(LOF(1), 1), vbLf)
            n = n + 1    'номер строки в файле
            v(1, n) = Val(Mid(x, InStr(1, x, ":", vbTextCompare) + 1))
        Next
        Close 1
        f = Dir
        Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6).Value = v
        n = 0
    Loop
End Sub
Изменено: Маугли - 15.05.2019 08:22:58 (Исправил)
Копирование шапки при разбиении таблицы на листы, Доработка рабочего кода
 
Притянуть за уши можно так..
Код
Sub Разделить_по_книгам()
    Dim oDic As Object, arrData(), arrSeparateItems(), arrTemp(), i&, n&, m&, k&
    Dim arrTemp1() '.........Правка
  
    If MsgBox("Разделить данные по книгам?", vbQuestion + vbYesNo, "Вопрос") = vbNo Then Exit Sub
    Application.ScreenUpdating = False
    arrData() = Range("A1").CurrentRegion.Value
    Set oDic = CreateObject("Scripting.Dictionary")
    For i = LBound(arrData) To UBound(arrData)
        If Not oDic.exists(arrData(i, 1)) Then oDic.Add arrData(i, 1), arrData(i, 1)
    Next i
    arrSeparateItems() = oDic.items
    For n = LBound(arrSeparateItems) + 1 To UBound(arrSeparateItems) '.........
        ReDim arrTemp(1 To UBound(arrData), 1 To UBound(arrData, 2))
        k = 0
        For i = LBound(arrData) To UBound(arrData)
            If arrData(i, 1) = arrSeparateItems(n) Then
                k = k + 1
                For m = LBound(arrData, 2) To UBound(arrData, 2)
                    arrTemp(k, m) = arrData(i, m)
                Next m
            End If
        Next i
        Workbooks.Add
                ReDim arrTemp1(1 To 1, 1 To UBound(arrData, 2)) '.........
                For m = 1 To UBound(arrData, 2) '........
                    arrTemp1(1, m) = arrData(1, m) '..........
                Next m '..........
        Range("A1").Resize(1, UBound(arrData, 2)).Value = arrTemp1 '.........
        Range("A2").Resize(UBound(arrTemp), UBound(arrTemp, 2)).Value = arrTemp
        Columns("A:E").AutoFit
        Columns("B:G").HorizontalAlignment = xlLeft
        ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Right(arrSeparateItems(n), 10), xlExcel8
        ActiveWorkbook.Close SaveChanges:=True
    Next n
    Application.ScreenUpdating = True
    MsgBox "Данные разделены и сохранены в " & ThisWorkbook.Path & "\", vbInformation, "Конец"
End Sub
Трехуровневая / многоуровневая группировка данных c помощью VBA
 
Понял так..
Код
Sub Овал1_Щелчок()
    Dim r As Range, c As Range
    Application.ScreenUpdating = 0
    ActiveSheet.ListObjects("Table1").Unlist
    Set r = Sheets(2).Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row)
    r.ClearOutline
    For Each c In r
        If Not (Cells(c.Row, 1) = "" And Cells(c.Row, 2) <> "" And Cells(c.Row, 3) = "") Then
            c.EntireRow.Group
        End If
    Next
    r.Resize(r.Rows.Count).EntireRow.Group
    ActiveSheet.ListObjects.Add(xlSrcRange, r.CurrentRegion, , xlYes).Name = "Table1"
End Sub
Трехуровневая / многоуровневая группировка данных c помощью VBA
 
Попробуйте так..
Код
Sub Овал1_Щелчок()
    Dim r As Range, c As Range
    Application.ScreenUpdating = 0
    Set r = Sheets(1).Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row)
    r.ClearOutline
    For Each c In r
        If Not (Cells(c.Row, 1) = "" And Cells(c.Row, 2) <> "" And Cells(c.Row, 3) = "") Then
            c.EntireRow.Group
        End If
    Next
End Sub
Виборка дати по определленому условию
 
Добавил сортировку ФИО-Тип дня-Д ата получения отгула
По-моему тоже самое , что синий диапазон
Код
Private Sub Worksheet_Activate()
    Dim sh As Worksheet, r As Range, c As Range, j&
    Range("A2:D1000").ClearContents: j = 1
    For Each sh In Worksheets
        Set r = sh.Range("B3:AH5")    'ваш табель
        If sh.Name <> "Учет отгулов" Then
            For Each c In r
                If Not c.Comment Is Nothing Then
                    j = j + 1
                    Cells(j, 1) = c.EntireRow.Cells(2)
                    Cells(j, 2) = c.EntireColumn.Cells(2)
                    Cells(j, 3) = c.Comment.Text
                    Cells(j, 4) = c.EntireColumn.Cells(1)
                End If
            Next
        End If
    Next
    Set r = [A1].CurrentRegion
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=[A1]
        .SortFields.Add Key:=[D1]
        .SortFields.Add Key:=[B1]
        .SetRange r
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .Apply
    End With
End Sub
Виборка дати по определленому условию
 
Достаточно отметить комментарием (пустым или с сообщением)  отгулы
и перейти на лист "Учет отгулов"
Конечно, без знания макросов причесать по конкретике  будет трудновато..
Выбирать Вам )
Комментарии  в табеле -это часть данных. Произвольно  удалять, ставить  - меняет рассчет
Если в книге несколько табелей (лист-табель) история отгулов  (как правило их погашения) работает.
Код
Private Sub Worksheet_Activate()
    Dim sh As Worksheet, r As Range, c As Range, j&
    Range("A2:D1000").ClearContents: j = 1
    For Each sh In Worksheets
        Set r = sh.Range("B3:AH5")    'ваш табель
        If sh.Name <> "Учет отгулов" Then
            For Each c In r
                If Not c.Comment Is Nothing Then
                    j = j + 1
                    Cells(j, 1) = c.EntireRow.Cells(2)
                    Cells(j, 2) = c.EntireColumn.Cells(2)
                    Cells(j, 3) = c.Comment.Text
                    Cells(j, 4) = c.EntireColumn.Cells(1)
                End If
            Next
        End If
    Next
End Sub
Изменено: Маугли - 09.05.2019 03:46:54
Виборка дати по определленому условию
 
Как вариант..
Изменение цвета точек на графике
 
Вариант для глаз..
Поиск значения по условию
 
Попробуйте так..
Из Приемов.
Изменено: Маугли - 02.05.2019 08:01:37
Подтверждение изменений если в ячейках есть данные
 
Согласен , вопросов куча..
Забудьте и в мусор )
Подтверждение изменений если в ячейках есть данные
 
Извиняюсь..
Щелчок правой кнопкой по занятой ячейке выдает диалог (
Подтверждение изменений если в ячейках есть данные
 
Попробуйте так..
Изменено: Маугли - 26.04.2019 12:37:48 (Поправил)
Сводная таблицаПреобразование структуры таблицы для специальной группировки
 
Тема: Преобразование структуры таблицы для специальной группировки
Мультивыбор записей из базы на отдельный лист
 
Попробовал с формой..
Три выпадающие списка с уникальными значениями
 
Попробовал..морока. Больше не хочу)
Автомотическое удаление нулевых значений диаграммы по оси Х
 
Вы же инженер..искать, найти и не сдаваться )
Мультивыбор записей из базы на отдельный лист
 
Попробуйте так..

Тема: Мультивыбор записей из базы на отдельный лист
Автомотическое удаление нулевых значений диаграммы по оси Х
 
У Вас макросы разрешены ?
Автомотическое удаление нулевых значений диаграммы по оси Х
 
Попробуйте так..
Изменено: Маугли - 16.04.2019 06:22:00 (Добавил событие)
Распределение количества товара по учреждениям с общим лимитом.
 
Добавлен столбик..
Значения из столбцов разнести по нужным ячейкам на листах
 
Попробуйте так..
Код
Sub tt()
    Dim r As Range, i&
    With Sheets("Основа")
        Set r = Range("A1:E" & .[A1].End(xlDown).Row)
        On Error GoTo rpt
        For i = 2 To r.Rows.Count
            If Len(Worksheets(Sheets(1).Range("A" & i).Value).Name) > 0 Then
                Sheets(.Range("A" & i).Value).Range("C1") = .Range("A" & i)
                Sheets(.Range("A" & i).Value).Range(.Range("C" & i)) = .Range("B" & i)
                Sheets(.Range("A" & i).Value).Range(.Range("E" & i)) = .Range("D" & i)
            End If
rpt:
            If Err Then MsgBox "Такого листа " & """" & .Range("A" & i) & """" & " нет!"
        Next
    End With
End Sub
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 След.
Наверх