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

Страницы: 1
Скрытие/отображение строк в диапазоне
 
Добрый день,
Имеется таблица в ней скрыт диапазон строк, условно с 10 по 20, и две кнопки. Одна открывает строки из диапазона, другая их скрывает.
Т.е. нажал + у тебя открылась строка 11, ещё + 12 и так далее.
Имеется аналогичный по функционалу макрос для столбцов, но не могу адаптировать на строки.

Код
Sub ColumnHide()
    ColumnHideShow False
End Sub
Sub ColumnShow()
    ColumnHideShow True
End Sub
 
Sub ColumnHideShow(bMode As Boolean)
    Dim xx As Long
    For xx = [H1].Column To [Z1].Column
        If Columns(xx).Hidden = bMode Then
           Columns(xx).Hidden = Not bMode
           Exit For
        End If
    Next
End Sub
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Макрос скрыть/показать последующий столбец по нажатию кнопки.
 
Добрый день,
Прошу помощи экспертов, с макросами совсем плохо дружу, но стараюсь понять.
Во вложенном примере есть таблица находящаяся в диапазоне G:Z. В изначальном варианте предполагается, что столбец G всегда видим, а столбцы H:Z скрыты и при нажатии на кнопку будет показываться следующий столбец, т.е. один раз нажал - открылся столбец H, второй раз - I, третий - J и т.д. Вторая кнопка будет выполнять обратное действие, скрывать столбцы от Z до H.
Искал похожие примеры, пробовал записывать сам, но не получается адаптировать.

UPD: Пока писал этот вопрос появилась проблема с существующими макросами...
есть макрос, который вывод сообщение об ошибке если нарушаются условия, прописан он для выпадающего значения "01"
Код
Private Sub Worksheet_Change(ByVal Target As Range)
'Для значения 01:'
Application.EnableEvents = False
If Not Intersect(Target, Range("G24:G27, G29")) Is Nothing And Range("G17").Value = 1 Then
    MsgBox "Не применимо для выбранной схемы"
    Application.Undo
End If
Application.EnableEvents = True
End Sub
И макрос для очистки вводных данных, который реализован на кнопке:
Код
Sub Очистка_формы_ввода_данных()
    Range("F8:G8").Select
    Range("F9:G9, F11:G11, F12:G12, G18:Z29, F32, F33, E37, E38, E36, D19:F19, D20:F20").ClearContents
    Range("G17:Z17") = 0
          
End Sub

И вот при выполнении второго, если было выбрано значение "01" первый выдает ошибку когда его пытаются очистить...

Но это все же не основная проблема, прошу помочь с первым вопросом.

Большое спасибо.

Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Формирование текста из частей по заданным условиям.
 
Добрый день,
Задача состоит в формирование единого текста в виде "красивого" документа из отдельных составляющих.
Во вложении пример. Документ является техническим описанием электротехнического оборудования. На Листе 1 задаются условия и в зависимости от выбора "Да" или "Нет" добавляется (или нет) текст с описанием.
Я реализовал это следующим образом:
1. На Лист 2 внес всю информацию, разделив по листам.
2. К каждой строке в столбце K добавил формулу ЕСЛИ по условиям "Да" Листа 1.
3. На Лист 2 добавил макрос который скрывает строки по условиям.
4. На Лист 1 добавил кнопку с макросом, который скрывает Лист 1 и получается переход на Лист 2 и срабатывает макрос из 3 пункта.

Макрос из пункта 3.
Код
 Private Sub Worksheet_Activate()
Application.DisplayStatusBar = False
Application.DisplayAlerts = False

 Application.EnableEvents = 0
    For Each cell In [K51:K450].Cells
            cell.EntireRow.Hidden = cell.Value = 77
    Next cell
    Application.EnableEvents = -1
      
      
      
      Application.DisplayAlerts = True
      Application.DisplayStatusBar = True
    
End Sub
Условие "77" просто с потолка, чтобы было удобнее для восприятия.
Ранее уже пользовался этим макросом в подобных задачах, но в этот раз он очень долго обрабатывает документ, возможно это связано с изображениями (убрал их т.к. вес документа был более 1 мб.).
В общем, суть вопроса, можно ли как то ускорить работу или уйти от него и решить задачу по другому? В дальнейшем будет необходимо добавить больше текста и его работа будет совсем не эффективна.
Заранее благодарю.
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Условное форматирование текста при определенных условиях.
 
Добрый день,
Имеется таблица, где идет учет работы (Лист1). В ней указано, помимо всего прочего, фамилия сотрудника.
Необходимо, чтобы фамилия выделялась цветом, когда до начала отпуска этого сотрудника осталось 2 недели или меньше.
Для этого сделал отдельную таблицу (Лист2), пробовал написал формулы в виде =И(СЕГОДНЯ()>=[@[дата начала]]-14;СЕГОДНЯ()<[@[дата начала]]), но не соображу как её привязать к условному форматированию.
Пока только нашел решение прописать условие для каждого сотрудника отдельно, но т.к. людей много это затруднительно.
Прошу совета, спасибо.
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Расширенный фильтр с данными из другой ячейки.
 
Добрый день, в документе используется расширенный фильтр из этой темы https://www.planetaexcel.ru/techniques/2/197/ , только вводные данные добавляются не руками, а из выпадающего списка, как можно сделать так, чтобы фильтр срабатывал и при выборе одного значения? Сейчас он срабатывает не верно, т.к. если не выбрать второе значение из списка, в ячейке которая на него ссылается будет "0", формулы "ЕСЛИ" так же воспринимается как заполненная ячейка. Возможно есть какой то макрос
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Макрос расширенного фильтра из события листа на кнопку
 
Добрый день, подскажите как макрос из этой темы https://www.planetaexcel.ru/techniques/2/197/

Код
Private Sub Worksheet_Change(ByVal Target As Range)   
 If Not Intersect(Target, Range("A2:I5")) Is Nothing Then
        On Error Resume Next
        ActiveSheet.ShowAllData
        Range("A7").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion
    End If
End Sub

Переделать для использования после нажатия на кнопку?

Задача стоит примерно как в теме указанной выше, только данные в ячейки вводятся не в ручную, а формулой в результате расчета, а так этот макрос не реагирует на формулы хотелось бы его запуск осуществить кнопкой, но не выходит.
Изменено: Sinet - 17.07.2019 14:05:15
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Настройка стандартного фильтра. Возможно задать порядок?
 
Добрый день, при применении фильтра на ячейки, где есть числовые значения, буквы и символы он выстраивает порядок отображения следующим образом:
Сначала целые числа, потом символы, при чем дробное число "125/88" не встает в ряд с остальными, затем буквы.



Можно ли как нибудь сделать чтобы символы были в начале? И дробные числа по первому значению были в ряду между целыми.

Если ячейка только текстовая то символы вверху



Вопрос появился оттого, что в фильтре бывает очень много значений и необходимы пустые строки, но до галочки "пустые" листать далеко и я хотел их заполнить символами, чтобы выбирать его в начале фильтра, с ячейками с текстом сработало, а с числами нет. Можно ли что то ставить, чтобы было в фильтре перед числами?  
Изменено: Sinet - 17.07.2019 11:34:57
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Выбор подходящего значения из диапазона.
 
Добрый день. Во вложении фаил с данными. Имеется кабель с определенным диаметром (столбцы А:С), и проходки для этого кабеля (столбцы H:J). Необходимо для каждого кабеля подобрать проходку согласно его диаметру. Т.е. к примеру первый кабель КВБбШвнг имеет диаметр 21 и он попадает в диапазон 14-23 и результат МКС 30 и т.д.
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Макрос разрешающий сохранение документа на определенном листе.
 
Добрый день, суть вопроса заставить пользователя сохранятся на определенном листе в документе, в моем случае первом. Есть ли макрос, который при сохранение на других листах кроме определенного, будет выдавать ошибку с необходимостью перейти на тот лист. Спасибо.
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Макрос выводящий ошибку если не заполнены видимые ячейки при сохранении документа.
 
Добрый день, такой вопрос, во вложенном примере в ячейке В6 выбираются изделия, и в зависимости от типа и количества выбранных изделий после нажатия на кнопку "Перейти к вводу данных" появляются строки (строки 8-20 статичны всегда) и во всех этих строках есть красные ячейки, некоторые с выпадающим списком, некоторые для ручного ввода. Нужно, чтобы при сохранении документа если не заполнены видимые, красные ячейки появлялось окно с предупреждением, что необходимо заполнить.
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Выпадающий список с выбором нескольких значений
 

Добрый день, для данной процедуры использую макрос

Код
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B6")) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & " ; " & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub

Он распространяется только на ячейку "B6", вопрос в том как распространить работу этого кода на ещё одну ячейку? Если я добавляю через ; или & ещё одну ячейку, к примеру "C42", то во всех выпадающих списках начинает работать этот макрос и выбирается несколько значений.
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Перемещение и заполнение диапазона ячеек.
 
Добрый день, такой вопрос, есть лист с данными о разных типах аппаратов с их характеристиками и пустой лист. Нужно, чтобы когда на листе с данными выбираешь нужный аппарат (допустим проставляешь их кол-во) на чистый лист копировались все данные о нем. Это нужно для печати только необходимых данных, возможно это можно реализовать и по другому.
Как говорит наш инженер по технике безопасности - ничто так не радует глаз, как второй глаз!
Страницы: 1
Наверх