Здравствуйте, уважаемые форумчане! Есть макрос, который все элементы, попадающие в корзину, делает прочитанными. Он начинает работать тогда, когда я его запускаю вручную. А можно ли сделать так, чтобы он автоматически запускался вместе с запуском самого Outlook?
Код
Private
WithEvents DeletedItemsFolder As Outlook.Folder
Private
WithEvents DeletedItemsItems As Outlook.Items
Private Sub
Application_Startup()
Dim outlookApp As Outlook.Application
Set outlookApp = Outlook.Application
' Получаем папку "Корзина"
Dim mailbox As Outlook.MAPIFolder
Set mailbox =
outlookApp.GetNamespace("MAPI").GetDefaultFolder(olFolderDeletedItems)
Set DeletedItemsFolder = mailbox
Set DeletedItemsItems =
DeletedItemsFolder.Items
End Sub
Private Sub
DeletedItemsItems_ItemAdd(ByVal Item As Object)
On Error Resume Next
' Помечаем
добавленный элемент как прочитанный
Item.UnRead =
False
' Очищаем память
Set Item = Nothing
End Sub
Добрый день, уважаемые форумчане! Подскажите, пожалуйста, как быть. Есть таблица с наименованием товара и его количеством. Нужно подсчитать количество по каждому товару. Сразу сводную построить не получится, так как наименование товара прописано в разных столбцах. Есть ли какое-то более короткое решение? Сейчас копирую данные вручную и только потом строю сводную.
Добрый вечер! Подскажите, пожалуйста, в каком направлении двигаться. Есть 2 файла, которых есть лист с 45 столбцами и тысячами строк. Стоит задача эти два файла (точнее, 2 листа из разных книг) сравнить между собой и выявить только расхождения в конкретных ячейках. Пробовал для этой цели использовать Power Query. Мощный инструмент, ничего плохого сказать не могу. Но тут проблема - в качестве эксперимента изменил только одно значение в ячейке, он мне эту строку выдал ожидаемо, но не видно, где было различие. То есть, здесь придется просматривать все 45 столбцов на различие одного листа с другим. Огромным плюсом является то, что одинаковые строки могут по-разному располагаться на листах и PQ понимает то, что это одинаковые строки и мне их не выгружает. Пробовал Inquire. Здесь все очень наглядно видно, где и что различается. Как раз этого не хватает в PQ. Но тут другая проблема - одни и те же строки, которые по-разному расположены, надстройка выдает за расхождение. Снова не то... Может, есть инструмент, который объединил бы плюсы PQ и Inquire? Во вложении 2 файла, которые пробовал сравнить в Inquire. Содержимое файлов одинаково, но выдается в различия. Подскажите, пожалуйста, как быть?
Добрый вечер! При запуске Excel (Пуск --> Excel) выдается сообщение об ошибке: "Не удается открыть файл <Имя файла>, так как формат или расширение этого файла являются недопустимыми. убедитесь, что файл не поврежден и расширение его имени соответствует его формату." Такое же сообщение выводится, когда пытаюсь открыть любой другой файл. Пробовал восстанавливать microsoft office (2016) - не помогло. Подскажите, пожалуйста, как можно устранить эту ошибку?
Доброго времени суток! Нашел по ссылке очень нужный мне макрос https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=25707 Но очень хотелось бы, чтобы в создаваемых файлах еще была и шапка таблицы (она всегда в первой строке делимого листа) Помогите, пожалуйста, с решением данной проблемы
Добрый день, уважаемые форумчане! Проблема не новая, но не смог найти решение под свои нужды Есть выгрузка из 1С. На экране вижу лидирующие нули, но в содержимом ячеек их нет. Нашел функцию, которая помогает решить проблему, но мне бы хотелось выделить на листе диапазон с данными, в которых нужно проставить реальные нули и запустить Sub, а не Functuon Помогите, пожалуйста, с решением проблемы. Заранее огромное спасибо! Тема с функцией здесь: Сохранение лидирующих нулей Сама функция:
Код
Function kaktext(r As Range) As String
kaktext = r.Text
End Function
Добрый день, уважаемые форумчане! Подскажите, пожалуйста, а как переделать так, чтобы Function работала как Sub? Хотелось бы выделить на листе диапазон с данными и запустить Sub Заранее огромное спасибо!
Код
Function kaktext(r As Range) As String
kaktext = r.Text
End Function
Здравствуйте! Уважаемые форумчане, помогите, пожалуйста, со следующим вопросом. Есть файл с несколькими листами. На главной странице сделаны гиперссылки на каждый лист. Гиперссылки прописаны в объектах рисования (автофигуры). На каждом листе есть гиперссылка на главную страницу. Хотелось бы перемещаться по листам только по гиперссылкам, а все листы, кроме активного, были бы скрыты. Очень похожая тема здесь: https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=29560 Но там нет автофигур (Shape) Результат темы выше:
Код
Private Sub Workbook_SheetFollowHyperlink(ByVal sh As Object, ByVal Target As Hyperlink)
If Target.Address <> "" Then Exit Sub 'внешняя гиперссылка
Range(Target.SubAddress).Parent.Visible = xlSheetVisible: sh.Visible = xlSheetHidden
End Sub
Добрый день! Есть исходная таблица с объединенными ячейками и одинаковыми наименованиями столбцов (во вложении). Необходимо построить сводную таблицу. Я хотел бы узнать, есть ли какой-то способ построения сводной таблицы, при этом не переделывая исходную таблицу? Буду рад любому ответу, спасибо!
Добрый день. Пишу макрос, который при сохранении файла в имя файла добавляет месяц и год. Хочу добиться, чтобы месяц в имени файла прописывался с маленькой буквы, но не получается - первая буква месяца всё равно прописная. Код такой:
Сначала сгруппировал листы, затем применил параметры. Но дело в том, что почему-то не задаются сквозные строки. Подскажите, пожалуйста, что не так в коде?
Код
Sub листы()
Dim s()
k = Sheets.Count
ReDim s(5 To k)
For i = 5 To k
s(i) = i
Next
Sheets(s).Select
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1000
.Orientation = xlLandscape
.LeftMargin = Application.InchesToPoints(0.196850393700787)
.RightMargin = Application.InchesToPoints(0.196850393700787)
.TopMargin = Application.InchesToPoints(0.196850393700787)
.BottomMargin = Application.InchesToPoints(0.196850393700787)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.CenterHorizontally = True
.PrintTitleRows = "$5:$7"
End With
Application.PrintCommunication = True
Sheets("Лист1").Select
End Sub
Здравствуйте, уважаемые форумчане! Перебираю циклом каждый лист в книге и задаю параметры страницы. В книге порядка 300 листов. Когда применяю макрос, Excel зависает в связи с переполнением памяти. Подскажите, пожалуйста, как можно ускорить макрос?
Код
Sub Параметры()
For Each xWorksheet In ActiveWorkbook.Worksheets
With xWorksheet.PageSetup
.FitToPagesWide = 1
.Orientation = xlLandscape
.LeftMargin = Application.InchesToPoints(0.196850393700787)
.RightMargin = Application.InchesToPoints(0.196850393700787)
.TopMargin = Application.InchesToPoints(0.196850393700787)
.BottomMargin = Application.InchesToPoints(0.196850393700787)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.CenterHorizontally = True
.PrintTitleRows = "$5:$7"
End With
Next xWorksheet
End Sub
Добрый вечер, уважаемые форумчане! Понимаю, что тема поднималась много раз, но сам никак не могу исправить код. Помогите, пожалуйста, разобраться в следующем. Выполняю некоторые действия в книге, затем сохраняю определенный лист с кнопкой в новую книгу. Все работает отлично, но в новую книгу копируется и лист, и кнопка. Вот фрагмент кода, который выполняет сохранение:
Код
p = ActiveWorkbook.Path
Sheets("Лист для сохранения").Copy
ActiveWorkbook.SaveAs Filename:=p & "\" & Format(Now(), "mm/yyyy") & " " & "Лист для сохранения.xlsx", FileFormat:=xlOpenXMLWorkbook
Sheets(1).Activate
ActiveSheet.Shapes.Range(Array("Button 1")).Delete
Именно в таком варианте кнопка удаляется, но новая книга остается открытой и при закрытии Excel спрашивает о ее сохранении. Если в конец кода добавить:
Код
ActiveWindow.Close
То книга сохраняется, закрывается, но кнопка в ней не удаляется. Помогите, пожалуйста, как поправить код, чтобы новая книга сохранялась, закрывалась, и чтобы в ней не было кнопки.