Добрый день! Подскажите, пожалуйста, как установить фильтр за сегодня и вчера? Ниже строка кода работает только по первому критерию, как сделать 2 условия одновременно? Спасибо!
Добрый день! Нужна помощь. Есть массив данных (лист 1 в приложенном файле), строк может быть сколько угодно, столбцы не меняются. Необходимо перенести все значения из диапазона, ограниченного значениями S111, на второй лист в ячейку А2, и далее ниже. То есть, берется первое значение напротив S111 на Лист1 и копируется на Лист2, пока не появится пустая ячейка (напротив второго S111). Количество ФИО в столбце В на Лист1 постоянно меняется (обычно в большую сторону). Заранее благодарю за помощь!
Изменено: slider85 - 06.02.2021 11:14:23(изменил содержание файла для наглядности)
Добрый день! Помогите, пожалуйста, адаптировать код. Сейчас происходит копирование из книги wb1 в книгу wb3, и весь массив данных вставляется в ячейку А1 (последняя строка кода). Необходимо, чтобы данные вставлялись в первую пустую строку по столбцу А, то есть, если на листе уже есть данные например в диапазоне A1:Z350, то копировать (добавить) данные, после применения всех фильтров, в ячейку А351. Заранее спасибо за помощь.
Код
Dim wb1 As Workbook, wb3 As Workbook
Set wb1 = Workbooks("Проверка_1.xlsx")
Set wb3 = Workbooks("Проверка_2.xlsm")
' фильтр + копирование
wb1.Sheets("Хранение").Rows("1:1").AutoFilter
wb1.Sheets("Хранение").Range("A:Z").AutoFilter Field:=4, Criteria1:="=", Operator:=xlOr, Criteria2:="маг"
wb1.Sheets("Хранение").Range("A:Z").AutoFilter Field:=3, Criteria1:="<>", Operator:=xlOr
wb1.Sheets("Хранение").Cells.CurrentRegion.Copy wb3.Sheets("Лист1").Range("A1")
Здравствуйте! Помогите, пожалуйста, как сделать так, чтобы при ранжировании, если есть одинаковые значения, можно было их проранжировать по дополнительному условию (где большее значение, то становится на перовое место, чем ниже значение дополнительного условия, тем ниже ранг). Файл прикрепил. Заранее спасибо за помощь.
Подскажите, пожалуйста, что добавить в код, чтобы скопировать целиком все данные из одного листа одной книги на лист другой книги, сохранив форматирование. Строк может быть любое количество, столбцов не больше диапазона "A:Z". На новый лист нужно вставить лист целиком, чтобы все прежние данные затерлись. Своего рода аналог ctrl+a, ctrl+c в копируемом листе, ctrl+a, ctrl+v на листе куда вставляем. По коду вроде все копирует, но если старых строк на втором листе больше, старые данные остаются после вставки.
Код
Sub копироватьвставить()
Dim wb1 As Workbook, wb3 As Workbook
Set wb1 = Workbooks("книга1.xlsx")
Set wb3 = Workbooks("книга2.xlsm")
wb1.Sheets("Лист1").Rows("2:2").AutoFilter
wb1.Sheets("Лист1").Range("A:Z").AutoFilter Field:=4, Criteria1:="=", Operator:=xlOr, Criteria2:="заголовок"
wb1.Sheets("Лист1").Range("A:Z").AutoFilter Field:=3, Criteria1:="<>", Operator:=xlOr, Criteria2:="заголовок"
wb1.Sheets("Лист1").Cells.CurrentRegion.Copy
wb3.Sheets("Лист1").Cells.PasteSpecial xlPasteValues
wb3.Sheets("Лист1").Cells.PasteSpecial Paste:=xlPasteFormats
End Sub
Добрый день! В файле на листе 1 необходимо найти столбцы содержащие в названии Промо5 и Промо6 - и удалить их. Применить фильтр в колонках Промо2, Промо3 и Промо по значениям: Л1+S103+0 соответственно, скопировать поучившуюся таблицу и вставить на Лист 2, без первой пустой строки. Количество строк и колонок может постоянно меняться. Знаю как сделать используя Select и Activate, но если данных много - макрос виснет(( Спасибо за помощь.
Добрый день. Есть открытый файл "qwerty.xlsx"в котором выполняются операции. Как очистить буфер обмена, закрыть и удалить файл без activate и select? Также чтобы не прописывать путь, так как файл создается автоматически:
Добрый день, не пойму в чем ошибка. Необходимо удалить столбцы в другой книге (не в той где запускается макрос). По коду ниже выдает ошибку.
Код
Sub удалениестолбцов()
Dim wb As Workbook
Set wb = Workbooks.Ореn("Проверка.xlsx")
wb.Sheets("Хранение").Columns("E:E,G:G,H:H").Delete Shift:=xlToLeft
End Sub
Доброго дня. Подскажите формулу, как выбрать максимальное значение для одного человека из таблицы на первой вкладке и вставить их на вторую вкладку, для каждого наименования: "Тест1" и "Тест2". Преобразование из имеющегося текста в % значение успешной сдачи сделал по формуле ниже, а дальше пробовал и с "НАИБОЛЬШЕЕ" и с "ДМАКС", но что-то не получилось.
Всем привет! Нужна помощь. В файле (табель) необходим макрос, который перебирает все столбцы с F по BO (62 столбца), и заменяет по столбцам, которые не содержат "сб" и "вс", значение ячеек "ОТ" на числовое значение 8. Необходимо учитывать, что "сб" и "вс" может быть в любом столбце (данные меняются от месяца к месяцу), плюс количество столбцов может быть разным (в зависимости от месяца - 30 дней, 31 или февраль 28/29 (соответственно 60 столбцов, 62 или 56/58). Или с учетом того, что появляются дни (праздничные) которые также не надо включать в замену значений, прописать макрос который меняет значение в выделенных вручную столбцах заливкой (например желтой) Заранее спасибо за помощь!
Добрый день! Подскажите как сделать макрос, уже всю голову сломал: На листе 1 в столбце E из имеющегося текста сделать гиперссылки на лист 2. Список в столбце будет очень длинный, соответственно нужно перевести в ссылки весь диапазон (исключая 1 строку и пустые ячейки). То есть, на 1 листе вместо текста получить ссылки Телевизор1, Телевизор2... И при нажатии на ссылку Телевизор1, осуществляется переход на 2й лист. Есть код, но он просто делает из списка гиперссылки без перехода, необходимо в код добавить адрес перехода
Код
Private Sub CreateHypelinkInTextCellv2()
Dim iCell As Range, iText$
For Each iCell In [E2:E15]
iText = iCell.Text
If iText <> "" Then iCell.Hyperlinks.Add iCell, iText
Next
End Sub