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

Страницы: 1
Условное форматирование по нескольким условиям, использование одновременно условия И и ИЛИ ?
 
Цитата
написал:
День добрый
Спасибо!
Условное форматирование по нескольким условиям, использование одновременно условия И и ИЛИ ?
 
Добрый день!

Использую условное форматирование формулой такого вида, по трем условиям:

=И($L1<СЕГОДНЯ()+3;$L1<>"";$K1<>"Предоставлена копия")

Соответственно, происходит заливка строки, если текущая дата больше на 3 дня, чем указанная в ячейке, если вообще ячейка с датой не пустая и, если в другой ячейке стоит любой другой статус, кроме "предоставлена копия".

Как добавить в формулу, чтобы можно было указать 3 статуса?

Ответ не требуется
Предоставлена копия
Обращение закрыто

Чтобы выполнялось условие по дате в ячейке, а во второй ячейке любой другой статус, кроме трех вышеуказанных.
Изменено: Crowner - 06.07.2023 09:05:48
Обработка писем Outlook из Excel посредством VBA, Совместимость между различными версиями MS Office
 
Подскажите чайнику, пожалуйста.
Вот есть у меня макрос следующего вида
Код
Dim objFolder As Outlook.Folder
Dim objNS As Outlook.Namespace
Dim objMail As Outlook.MailItem
Dim lCounter As Long
Set objNS = Outlook.GetNamespace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderInbox).Folders("Важная папка")
For lCounter = 1 To objFolder.Items.Count
Set objMail = objFolder.Items.Item(lCounter)
{Здесь я получаю информацию различную из objMail такие как дата, время, тема, отправитель, вложения и т.д. и произвожу с ними манипуляции.}
Next
Все это прекрасно работает у меня в Excel 2016 с подключенной библиотекой (т.е.галочку поставил в Tools->References) Microsoft Outlook 16.0 Object Library.
Но, требуется запускать тоже самое и на Excel 2013. Там соответственно библиотека уже не 16.0, а 15.0 и, неизвестно, может и на других версиях офиса придется. Файл могут открыть на разных ПК с разными версиями MS Office. И там, соответственно, все вываливается с ошибкой, что не найдена библиотека 16.0.
Догадываюсь, что можно библиотеку не подключать галочкой, а в макросе что-то переделать. Но, пока, не научился (самоучка).
Подскажите, как все-таки сделать, чтобы работало и на 2016м и на 2013м.
Желательно, прям поправить код, чтобы понятнее было, как работает.
Изменено: Crowner - 27.06.2023 15:21:42
Автофильтр по дате, на VBA
 
Вот во вложении пример таблицы, которая грузится макросом. Из нее надо вычислить общее количество строк с 2я критериями:
1.За определенную дату. Например, февраль 2023;
2.Тип аудита, например "Внутренний".

Эти 2 параметра могут меняться произвольно. Т.е. они должны быть присвоены переменным.

И надо это сделать непременно на VBA.
Автофильтр по дате, на VBA
 
,так и делаю :) С одним фильтром, как выше показали, все работает. Не могу понять, как добавить второй фильтр на соседний столбец.
Автофильтр по дате, на VBA
 
Пытливый,я когда на форум копировал пропустил строку
ws это лист в том файле, который посторонний открываем и в нем фильтр применяем.
Изменено: Crowner - 23.05.2023 12:29:49
Автофильтр по дате, на VBA
 
,а как в ваш код добавить второй фильтр в соседний столбец? К примеру B. Чтобы отсортировал не только по датам, но и еще во втором столбце должно быть текстовое значение, например "Внутренний".
Автофильтр по дате, на VBA
 
Цитата
написал:
Можно и на VBA, все равно 9 шт.
Код
    [URL=#]?[/URL]       1  2  3  4  5  6  7  8      Sub   Filtered_Counted()          Dim   oMR   As   Range          Set   oMR = Range(  "A1:A"   & Cells(Rows.Count, 1).  End  (xlUp).Row)          oMR.AutoFilter field:=1, Operator:=xlFilterValues, _              Criteria2:=Array(1, Replace(Format(DateSerial(2023, 5, 31),   "m/dd/yyyy"  ),   "."  ,   "/"  ))          MsgBox   "Отфильтрованный диапазон содержит "   & oMR.SpecialCells(xlCellTypeVisible).Count - 1 &   " ячеек"          oMR.AutoFilter field:=1    End   Sub   
 
Спасибо! Почти работает! Помогите доработать ваш код, пожалуйста.
Он прекрасно работает, если я его помещаю в один файл с данными.
Однако мне надо открывать макросом другой файл xlsx и в нем это делать.
Код
Sub ОбработкаДанных()

'Открываем файл
Dim wb As Workbook
Dim ws As Worksheet
Dim hs As Worksheet

Set hs = ThisWorkbook.Sheets("Обработка")
Application.ScreenUpdating = False
Set wb = Workbooks.Open("путь до файла.xlsx", 0, Password:="")
wb.Application.DisplayAlerts = False
wb.Application.AskToUpdateLinks = False

'Ставим фильтр (Это ваш код)
    Dim oMR As Range
    Set oMR = ws.Range("F1:F" & Cells(ws.Rows.Count, 14).End(xlUp).Row)
    oMR.AutoFilter field:=1, Operator:=xlFilterValues, _
        Criteria2:=Array(1, Replace(Format(DateSerial(2022, 4, 1), "m/dd/yyyy"), ".", "/"))
    hs.Range("A1")=oMR.SpecialCells(xlCellTypeVisible).Count - 1
    oMR.AutoFilter field:=1

'Закрываем файл
wb.Close
Application.ScreenUpdating = True
End Sub

На hs.Range("A1") вываливается ошибка Overflow.
Если поменять на MsgBox тоже таже ошибка.
Автофильтр по дате, на VBA
 
Цитата
написал:
9 шт.
Здорово, но мне надо на VBA.
Автофильтр по дате, на VBA
 
Добрый день!
Помогите чайнику с VBA, пожалуйста.
Есть данные в таблице в с датами. Как посредством VBA установить фильтр на колонку с датами и отфильтровать по конкретному месяцу и году? И подсчитать получившееся количество строк? Например, установить фильтр на май 2023 и подсчитать количество получившихся строк.
Прикрепил файл с колонкой дат.
Copy-Paste из другой книги на VBA
 
МатросНаЗебре, заработало! Спасибо!
А как теперь скрыть открываемый файл?
У меня скрывалось так:
Set objExcel = New Excel.Application
objExcel.Visible = False

А теперь не работает.
Изменено: Crowner - 12.05.2022 09:31:02
Copy-Paste из другой книги на VBA
 
Добрый день!
Помогите новичку, пожалуйста.
Есть 2 файла:
1.CopyPasteTest.xlsm
2.123.xlsx

В первом файле кнопка, при нажатии на которую должны скопироваться ячейки из второго файла в первый.
Код:

Sub Button()
Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks.Open("123.xlsx")
Set ws = wb.Sheets(1)
Set sh = ThisWorkbook.Sheets(1)
sh.Range("A1") = ws.Range("A1") - ВОТ ТАК РАБОТАЕТ
ws.Range("A1:E1").Copy Destination:=sh.Range("A1:E1") - А ВОТ ТАК ВЫДАЕТ ОШИБКУ
wb.Close
End Sub

Ошибка:
1004 Метод Copy из класса Range завершен неверно.

Справку курил, из нее и взято как копировать. Все равно, не работает.
Изменено: Crowner - 12.05.2022 09:06:58
Страницы: 1
Наверх