25.12.2024 18:41:21
Добрый день. Подскажите пожалуйста, макрос работает. Он ищет в столбце R дубликаты, а каждый дубликат имеет в столбце U либо 0, либо число.
У овощей есть цена и в дубликатах она одинаковая.
Sub RemoveDuplicatesAndEmptyRows() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim dict As Object Dim key As String
' Установите лист, с которым будете работать Set ws = ThisWorkbook.Sheets("Sheet1") ' Замените "Sheet1" на имя вашего листа
' Создайте объект Dictionary для хранения уникальных значений Set dict = CreateObject("Scripting.Dictionary")
' Найдите последнюю строку в столбце R lastRow = ws.Cells(ws.Rows.Count, "R").End(xlUp).Row
' Пройдитесь по строкам с конца в начало For i = lastRow To 2 Step -1 ' Создайте ключ из значений в столбцах R и T key = ws.Cells(i, "R").Value & "|" & ws.Cells(i, "T").Value
' Проверьте, есть ли уже такой ключ в словаре If dict.exists(key) Then ' Если ключ уже существует, удалите строку, если столбец U пуст If IsEmpty(ws.Cells(i, "U").Value) Then ws.Rows(i).Delete End If Else ' Если ключа нет, добавьте его в словарь dict.Add key, True End If Next i
' Очистите объект Dictionary Set dict = Nothing End Sub
Изменено: |
|||||||||||||||||||||
|
05.12.2024 07:52:39
Добрый день. Есть команда по связке, но у меня не получается. Видел в ветках на форуме советы, но я где-то делаю ошибку.
Sub Макрос3() Call Макрос1 Call Макрос2 End Sub Вот сами два макроса. Первый работает. Второй (счетчик в ячейке) не работает. Sub IncreaseBy10Percent() Dim rng As Range Dim cell As Range ' Проверяем, выбран ли диапазон ячеек If TypeName(Selection) <> "Range" Then MsgBox "Пожалуйста, выберите диапазон ячеек.", vbExclamation Exit Sub End If ' Присваиваем выбранный диапазон переменной rng Set rng = Selection ' Проходим по каждой ячейке в выбранном диапазоне For Each cell In rng ' Проверяем, является ли значение числом If IsNumeric(cell.Value) Then ' Увеличиваем значение на 10% cell.Value = cell.Value * 1.1 End If Next cell End Sub Sub Button1_Click() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Лист1") ' Укажите имя вашего листа Dim counterCell As Range Set counterCell = ws.Range("A1") ' Укажите ячейку, где будет отображаться счетчик If IsEmpty(counterCell.Value) Then counterCell.Value = 1 Else counterCell.Value = counterCell.Value + 1 End If End Sub |
|
|
04.12.2024 09:46:42
Добрый день. Обратился племянник с институтским заданием. Сегодня пришлет шаблон. В общем плане:
Есть 1 компания у которой 10 грузовиков. В течение года они должны делать взносы фиксированные. Сложность в том, что иногда, грузовики получают штрафы ГИБДД. Нужно в одну ячейку внести размер штрафа, который отразится на всех ПОСЛЕДУЮЩИХ взносах по всем машинам. Размер штрафа не влияет на увеличение, только сам факт. Преподаватель вроде как даст коэффициент увеличения взноса. Будем очень рады помощи. Чуть позже загружу шаблон задания. |
|
|
24.10.2023 16:50:05
|
|||
|
15.05.2023 11:49:31
Можно ли задать алгоритм поискам пятизначного набора цифр? |
|||
|
24.02.2022 10:23:07
Добрый день. Давно нахожусь на форуме и ребята очень выручают. Я живу в небольшом городе, работаю в компании где работа только в Outlook. 5) Нужно чтобы при открытии письма оно помечалось галочкой автоматически. |
|
|
19.01.2022 13:08:33
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) Dim subj As String, filename As String filename = "C:\1.csv" - это ссылка на файл Excel, верно? If Item.Class = olMail Then subj = Item.Subject With CreateObject("Scripting.FileSystemObject") If .FileExists(filename) Then Set obj = .OpenTextFile(filename, ![]() Else Set objf = .CreateTextFile(filename) Set objf = Nothing Set obj = .OpenTextFile(filename, ![]() End If obj.Write subj & vbCrLf obj.Close Set obj = Nothing End With End If End Sub И как указать, что искомое значение состоит из 7 символов? |
|||
|
17.01.2022 13:07:53
Добрый день. Возможно ли при открытии письма или при ответе на него, переносить в таблицу Excel данные из темы письма?
Из темы письма в Excel. Желательно не всю тему, а только номер. Он всегда семизначный. куча текста и номер. В будущем, еще один параметр будут указывать. буквенный. Его бы тоже. Их 4 вида планируется. То есть, 4 типовых слова. Но как и требуемый номер, может быть в начале темы, в конце или где угодно)) что наверное, сложно. |
|
|
11.11.2020 15:05:06
Этот код в момент срабатывания на каком то сообщении будет перебирать все его вложения и сохранять их в указанную папку (строка saveFolder) с именем, которое будет состоять из даты и времени создания письма и названия вложения. После вставки кода нажмите Ctrl+S (или иконку дискеты в левом верхнем углу). |
|||
|
08.11.2020 12:53:36
Добрый день. Выручите пожалуйста. На данном форуме нашел макрос по сохранению вложений из нескольких писем, но нужно чтобы вложения сохранялись в определенной папке. Сейчас система такая: открываю письмо, выделяю вложения, создаю папку, нумерую её и переношу вложения.
Очень надо для работы. И если можно, связанный вопрос: как в теме письме в конце добавлять определенный префикс-нумеровку? Он всегда один и тот же. Например тема письма: "Петр Петров посмотрите цифры" и добавить в конец 1_SPB. Чтобы получилось: "Петр Петров посмотрите цифры 1_SPB" Экспресс блоки не помогли. |
|
|
14.11.2018 13:16:05
Добрый день. Короткий вопрос. НА 3 идентичных компьютерах файл excel проверяли. На одном из них, Диаграмма, которая ссылается на массив данных делит на 10 процент, полученный в массиве. Процент вычисляется формулой =(D2/C2-1) получается 59%. А выводит 5.9%. Умножить на 10 можно, но хочется понять, в чем причина деления?
|
|
|
14.11.2018 13:06:11
Добрый день. Короткий вопрос. На 3 идентичных компьютерах файл excel проверяли.
На одном из компьютеров, диаграмма, которая ссылается на массив данных делит на 10 процент, полученный в массиве. Процент вычисляется формулой =(D2/C2-1) получается 59%. А выводит 5,9% Умножить на 10 можно, но хочется понять, в чем причина деления?? |
|
|