|
08.02.2018 09:32:53
Привет форумчане. Попробую сформулировать что нужно. Есть таблица которая периодически обновляется и в которой напротив данных, которые уже обработаны проставляется запись " занесено". Нужен такой макрос, который бы удалял все эти ячейки, Единственное, что приходит в голову это сделать фильтр по пометке " занесено" и удалить их таким образом. Но как сделать, чтобы макрос понимал, какое количество ячеек нужно удалить в следующий раз, ведь количество записей может быть уже другим. Образец приложил. Спасибо!!
Изменено: - 08.02.2018 13:29:39
|
|||
|
|
|
|
06.02.2018 13:10:28
Прошу прощения, коряво обрезал код, 'ActiveSheet.Unprotect , это уже к дальнейшим действиям относилось. А так вообще, действительно на троллинг похоже. ) Но, тем не менее, проблема действительно есть. В приложении файл пример. С помощью макроса паролем защищаю лист от всех изменений и копирования и макрос, вроде бы выполняет действие, но если нажать "Снять защиту листа" после действия макроса, защита слетает без всякого пароля.
|
|
|
|
|
|
06.02.2018 11:21:46
Формучане, проблема такого свойства. Сделал макрос, который предполагает получение файла с защищенным листом, но при выполнении макроса лист все равно получается незащищенным. Что можно сделать? Код такой
Спасибо!
Изменено: - 06.02.2018 11:54:07
|
|||
|
|
|
|
06.02.2018 10:24:52
Потестил, все работает супер, единственно такой момент. Подскажите, как доработать код, чтобы была возможность вставлять в копию получателя и менять отправителя – у меня два почтовых ящика в Outlook, сейчас по умолчанию, отправка идет с одного из них. Уверен, доработанный макрос будет крутым и полезным очень, очень многим. Спасибо!! код. ""Sub Send_Mail() Dim objOutlookApp As Object, objTemlate As Object Dim cl As Range Application.ScreenUpdating = False On Error Resume Next 'Пробуем подключиться к Outlook, если он уже открыт Set objOutlookApp = GetObject(, "Outlook.Application") Err.Clear 'Outlook If objOutlookApp Is Nothing Then Set objOutlookApp = CreateObject("Outlook.Application") End If objOutlookApp.Session.Logon 'Если не получилось создать приложение, выходим из процедуры If Err.Number <> 0 Then Set objOutlookApp = Nothing Exit Sub End If With Worksheets("Ëèñò1") lrow = .Cells(.Rows.Count, 1).End(xlUp).Row End With If lrow < 2 Then lrow = 2 For Each cl In Range("A2:A" & lrow).Cells Set objTemlate = objOutlookApp.CreateItemFromTemplate(cl.Offset(, 2).Value) If Not objTemlate Is Nothing Then With objTemlate .To = cl.Value 'Кому .Subject = cl.Offset(, 1).Value 'Тема сообщения .Attachments.Add cl.Offset(, 3).Value 'вложение .Send 'Display, если необходимо просмотреть сообщение, а не отправлять без просмотра End With DoEvents End If Set objTemlate = Nothing Next Set objOutlookApp = Nothing Application.ScreenUpdating = True End Sub"" |
|
|
|
|
|
03.02.2018 07:16:59
Привет форумчане!
Помогите решить проблему отправки писем через Outlook, используя макрос в таблице Excel, по работе прямо очень, очень нужно. Для начала прошу прощения, эту тему уже наверняка уже обсуждали, но я так и не нашел именно то, что мне нужно. Вообщем, смысл задачи такой. В таблице Excel имеются четыре столбца: 1. Адреса e-mail ( у меня порядка 100 получателей) 2. Тема сообщения. 3 Путь к файлу ( я делаю шаблон письма в Outlook и сохраняю его в отдельной папке. Расширение файла .oft) 4. Путь к файлу вложению. Было бы классно, если бы выдававалось еще какое-нибудь сообщение об ошибке отправки, но это в принципе, думаю, не так важно. В приложении excel файл с этими полями, буду очень признателен, если сможете помочь. Заранее спасибо!!! :-) |
|
|
|
|
|
03.03.2017 09:07:15
Прошу прощения, не уточнил все детали.
По первому листу "Сотрудники": Табельные номера уникальны, т.е привязку можно делать к ним. Строчек может быть больше, чем в файле, но, в любом случае, это не больше двухсот. По второму листу. Даты на первой горизонтальной строчке будут проставляться вручную в момент заполнения листа. Последний столбец диапазона: по горизонтали II , а вниз двухсотая строчка. Т.е, грубо говоря, задача такая: Сегодня я заполняю таблицу на листе1 в столбце Е и эти данные попадают автоматом в таблицу "Сотрудники". Завтра я опять заполняю таблицу на листе 1, но уже в столбце F и эти данные отображаются в таблице "Сотрудники". Т.е в таблице "Сотрудники" нужна какая-то универсальная формула, которая будет брать данные только из последнего заполненного столбца в таблице 1. |
|
|
|
|
|
03.03.2017 08:22:09
Добрый день мастера Excel!
Буду очень признателен, если поможете в разрешении проблемы. На первом листе есть таблица с результирующими значениями , которые берутся из второго листа. Необходимо, чтобы в таблице на первом листе отображались данные только по последнему заполненному столбцу на втором листе. Образец файла прилагаю. Спасибо!! |
|
|
|
|
|
27.11.2016 10:08:38
Помогите, пожалуйста, решить проблему с макросом.
Сейчас макрос выполняет следующие действия: 1. курсор опускается на последнюю ячейку в которых есть данные 2. опускается еще на одну ячейку под последней ячейкой с данными 3. нужно чтобы в этой ячейке была формула с суммой всех ячеек, находящихся выше. Обычное подставление = СУММ (А1:А17) не катит, т.к ячеек с данными выше может быть больше или меньше. Нужно, чтобы формула выглядела именно так: - сумма от данного места ( плавающей ячейки, которая находится в диапазоне А~) до, предположим, А1. Тестовый образец в приложении. запуск ctrl+q. Спасибо!!!
Изменено: - 27.11.2016 10:09:02
|
|
|
|
|