При это я не понимаю как заставить забирать из папки все файлы расширением .xls
4-6 тоже более менее понятны, остается открытым 5
Изменено: - 23.06.2015 15:49:12
Отправка Excel to Lotus notes с помощью макроса
Пользователь
Сообщений: Регистрация: 01.07.2013
23.06.2015 15:17:42
Добрый день!
На главной есть статья, разбирающая отправку с помощью VBA, при ниже есть битая ссылка
Я нашел код, но к сожалению, в силу отсутствия каких-либо навыков VBA программирования не могу адаптировать его под себя:
Скрытый текст
Код
Option Explicit
Const EMBED_ATTACHMENT As Long = 1454
Const stPath As String = "c:\Attachments"
Const stSubject As String = "Weekly report"
Const vaMsg As Variant = "The weekly report as per agreement." & vbCrLf & _
"Kind regards," & vbCrLf & _
"Dennis"
Const vaCopyTo As Variant = "name@mail.com"
Sub Send_Active_Sheet()
Dim stFileName As String
Dim vaRecipients As Variant
Dim noSession As Object
Dim noDatabase As Object
Dim noDocument As Object
Dim noEmbedObject As Object
Dim noAttachment As Object
Dim stAttachment As String
'Copy the active sheet to a new temporarily workbook.
With ActiveSheet
.Copy
stFileName = .Range("A1").Value
End With
stAttachment = stPath & "\" & stFileName & ".xls"
'Save and close the temporarily workbook.
With ActiveWorkbook
.SaveAs stAttachment
.Close
End With
'Create the list of recipients.
vaRecipients = VBA.Array("name1@mail.com", "name1@mail.com")
'Instantiate the Lotus Notes COM's Objects.
Set noSession = CreateObject("Notes.NotesSession")
Set noDatabase = noSession.GETDATABASE("", "")
'If Lotus Notes is not open then open the mail-part of it.
If noDatabase.IsOpen = False Then noDatabase.OPENMAIL
'Create the e-mail and the attachment.
Set noDocument = noDatabase.CreateDocument
Set noAttachment = noDocument.CreateRichTextItem("stAttachment")
Set noEmbedObject = noAttachment.EmbedObject(EMBED_ATTACHMENT, "", stAttachment)
'Add values to the created e-mail main properties.
With noDocument
.Form = "Memo"
.SendTo = vaRecipients
.CopyTo = vaCopyTo
.Subject = stSubject
.Body = vaMsg
.SaveMessageOnSend = True
.PostedDate = Now()
.Send 0, vaRecipients
End With
'Delete the temporarily workbook.
Kill stAttachment
'Release objects from memory.
Set noEmbedObject = Nothing
Set noAttachment = Nothing
Set noDocument = Nothing
Set noDatabase = Nothing
Set noSession = Nothing
MsgBox "The e-mail has successfully been created and distributed", vbInformation
End Sub
Большая просьба помочь с рядом вопросов:
1.
Код
Const stSubject As String = "Weekly report":
Если тема письма варьируется от недели к неделе, допустим, сейчас это будет Week Results 23, на след недел Week Results 24, какие есть варианты решения? Я вижу это как: а) всплывающие окно, в котором я указываю номер недели или б) лучше в коде самостоятельно определяется текущая неделя
2.
Код
Const stPath As String = "c:\Attachments"
Этой срочкой автор указывает путь, где лежит документ с которым он работает?
3.
Код
Sub Send_Active_Sheet()
В примере рассмотрен случай вложения текущего листа в письмо. Как будет выглядет код, если у меня есть фиксированная директория (например, \Недельные отчёты\2015\Week 24), в которой уже лежат подготовленные отчеты и мне надо вложить все excel файлы из этой папки в письмо? Дополнительно стоит указать, что номер папки варьируется (равно как и тема письма) поэтому, по идеи это можно связать. Т.е. в коде определяется номер недели и используется как в stSubject так и в месте, откуда забираются файлы 4.
Как установить порядок вычислений в сводной таблице?
Пользователь
Сообщений: Регистрация: 01.07.2013
13.05.2015 13:15:43
StepanWolkoff, можно ли при этом как-то скрыть последнюю колонку (пустую) или только скрыть колонку?
ХОТЯ, я не правильно задал пример ( Можете взглянуть на эту версию? Т.е. оба сравнения по формул act/xx-1, где xx -> fc1 либо ly
Изменено: - 13.05.2015 13:22:28
Как установить порядок вычислений в сводной таблице?
Пользователь
Сообщений: Регистрация: 01.07.2013
13.05.2015 13:13:03
Спасибо, о мудрейший! Вы сэкономили мне уйму времени
Как установить порядок вычислений в сводной таблице?
Пользователь
Сообщений: Регистрация: 01.07.2013
13.05.2015 12:23:35
StepanWolkoff,не будет так как pivot через одно место работает с расчетными показателями (точно так же путается в произведение сумм) и поэтому продажи/минуты из исходника будут некорректно рассчитываться. Можно подробней про приведенное отличие (банально не знаю этого функционала)?
upd. Немного пошаманил с приведенным отличием, но нужного результата добиться не могу (хотя да, действительно расчеты идут корректно):
Слева красиво оформленная табличка - желаемый результат Справа - мои потуги к нему прийти, но через одно приведенное отличие не получается...
Изменено: - 13.05.2015 12:48:52
Форматирование ячеек: 2ой знак после запятой только в случае 0,0x
Пользователь
Сообщений: Регистрация: 01.07.2013
12.05.2015 18:12:23
ujin, на ячейках стоит форматирование 0,0%;-0,0%;"-" Поверх него добавил условное <=0,00044 : 0,00%;-0,00%;"-" И вроде бы решил вопрос. Спасибо
Форматирование ячеек: 2ой знак после запятой только в случае 0,0x
Пользователь
Сообщений: Регистрация: 01.07.2013
12.05.2015 16:35:35
Спасибо, Под форматированием я имел ввиду
Есть ли возможность решить этим инструментом, а не формулами (которые обрубают исходное значение)
Изменено: - 12.05.2015 16:37:27
Форматирование ячеек: 2ой знак после запятой только в случае 0,0x
Пользователь
Сообщений: Регистрация: 01.07.2013
12.05.2015 13:49:19
Сергей, спасибо, но интересует именно вариант форматирования ячеек
Форматирование ячеек: 2ой знак после запятой только в случае 0,0x
Пользователь
Сообщений: Регистрация: 01.07.2013
12.05.2015 13:35:33
Добрый день!
Возможно ли задать форматирование в следующем примере, чтобы стандартно округляло до 1 знака после запятой, но в случае 0 в первом знаке показывало второй?
Как установить порядок вычислений в сводной таблице?
Пользователь
Сообщений: Регистрация: 01.07.2013
12.05.2015 09:06:01
up. У кого-н возникло решение за майские?)
Как установить порядок вычислений в сводной таблице?
Пользователь
Сообщений: Регистрация: 01.07.2013
07.05.2015 18:08:32
Спасибо. Пример во вложении
Как установить порядок вычислений в сводной таблице?
Пользователь
Сообщений: Регистрация: 01.07.2013
07.05.2015 17:17:25
upd. Есть ли возможность указать порядок вычислений для Вычисляемого объекта, чтобы получить верное значение для примера? Т.е. есть ли возможность вместо 1,5 получить результат в -0,25
Изменено: - 13.05.2015 13:44:51
Ошибки в вычисляемом поле сводных таблиц, Некорректный расчет в вычисляемом поле
Пользователь
Сообщений: Регистрация: 01.07.2013
20.05.2014 16:15:56
Цитата
JayBhagavan пишет: Сводная сначала суммирует, а потом умножает.
Спасибо! Подскажите, пожалуйста, это проблема русской версии или сводной впринципе? И исправлено ли это в 13ой версии офиса?
Изменено: - 20.05.2014 16:16:43
Ошибки в вычисляемом поле сводных таблиц, Некорректный расчет в вычисляемом поле
Пользователь
Сообщений: Регистрация: 01.07.2013
20.05.2014 11:34:05
up! Кто-нибудь знает в чем причина подобных расхождений?
Ошибки в вычисляемом поле сводных таблиц, Некорректный расчет в вычисляемом поле
Пользователь
Сообщений: Регистрация: 01.07.2013
15.05.2014 14:02:00
Добрый день!
Русская версия 2010 excel 14.0.7113.5005 (64-разрядная) Считаю одни и те же данные. В одном случае загоняю весь расчет в вычисляемое поле, во втором случае часть данных считаю руками. Почему-то получаются разные цифры. Как?
Изменено: - 15.05.2014 14:09:39
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
05.08.2013 17:16:13
Вопрос решен
Изменено: - 05.08.2013 19:06:41(Вопрос решен)
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
02.08.2013 19:05:21
MCH,
Я наконец-то понял про отчеты и базу данных... Действительно мой метод поможет видеть up-to-date информацию по карте\cash, но при этом я не смогу формировать отчеты. Но, мне лично, в отчетах не нужно видеть расход ли это был по карте или налом. Для отчетов просто создам дубль данных с заменой "k" на "" и мне все отчеты вылезут. Наверное так
Изменено: - 02.08.2013 19:05:43
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
02.08.2013 15:18:11
MCH, Спасибо огромное, работает! Теперь буду читать справку по вашей формуле, кстати за ПОДСТАВИТЬ отдельное спасибо!
Вы сами сказали, что через pivot остатки на каждый день трудно будет посчитать. А в моем случае это будет учтено.
Еще раз спасибо!
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
02.08.2013 13:41:19
MCH, Спасибо, но если не сложно можете посмотреть мой последний вариант.
Формула уже работает. НО, я по прежнему не понимаю как объединить эти значения для Кэша под общую сумму. Т.е. если мы складываем ячейки A1,A2,A3, то мы пишем SUM(A1:A3). Как по этому аналогу сделать сумму моих ячеек, где вместо A1 у меня ЕСЛИ(ЯЧЕЙКА("тип";a1)="l";ПРАВСИМВ(a1;ДЛСТР(a1)-1);0)
Т.е. мне это интересно уже с точки зрения эстетики, т.к. у меня статей расходов штук 20 (вместо 2х, как в пример), и формула на несколько строчек выглядит страшновато.
Изменено: - 02.08.2013 13:42:59
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
02.08.2013 13:16:01
Abakumov, Спасибо, но указанный Вами шаблон не учитывает кэш) А вопрос уперся именно в него. Наглядные графики я выведу потом сам.
Формула начала обсчитывать кэш, но как-то криво. Не всегда работает проверка и я по-прежнему не могу понять как сделать Сумм всех значений для Кэша, а не указывать каждое из них в ручную
Изменено: - 02.08.2013 13:19:31
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
02.08.2013 12:53:11
egonomist,
Спасибо, но я пересмотрел тьму программ и все чем-то не устраивают. Основной минус отсутствие "совместного доступа". Т.е. нет возможности заносить в единую базу расходы обоих членов семьи/
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
02.08.2013 12:27:32
jakim,
Спасибо, но это немного не то. А) Я хочу видеть остаток на счету\остаток нала на утро каждого дня. Б) что оплачено картой, а что оплачено кэшом должно учитываться автоматически.
Поскольку идея с цветом не сработала (помечаем затраты кэшом цветом и они убираются из общей суммы расходов, которая относится к карте), то у меня родилась другая идея:
Если оплата произошла кэшом, то к значению пишу K и это значение учитывается только в Кэше.
Во вложении более подробный и наглядный пример
П.С. Вот такая формула превратит найденное значении k100 обратно в 100, но я не понимаю, как заставить ее считать на всю сумму значений. И эта проверка должна быть только в Кэше, т.к. карта попросту не будет видеть текстовые значения: ЕСЛИ(ЯЧЕЙКА("тип";a1)="l";ПРАВСИМВ(a1;ДЛСТР(a1)-1);"no"
Изменено: - 02.08.2013 12:45:57
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
01.08.2013 18:15:45
MCH, Именно так это у меня сейчас и выглядит, но это учитывает общие доходы\расходы (т.е реальная сумма на карте не соответствует отображаемой). Как учитывать при этом оплату кэшем?
Изменено: - 01.08.2013 18:16:13
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
01.08.2013 17:30:26
KuklP, Спасибо, я так понимаю Вам часто приходиться отвечать нет Значит мой вариант отпадает. Есть у кого-н еще идеи?
Учет семейных расходов, не могу реализовать учет кэша
Пользователь
Сообщений: Регистрация: 01.07.2013
01.08.2013 16:27:42
Добрый день! Уже давно с подругой ведем все наши доходы и расходы, но автоматически считается только общий остаток (сумма дохода - расходы за текущий день). Бьюсь который день над следующей задачкой: Хочу на начало дня видеть остаток на карте и остаток наличности в автоматическом режиме, которые формируют общую сумму дохода.
Думал реализовать через цвет: допустим, формула обсчитывает все расходы, но если я помечаю ячейку цветом, то данное значение вычитается только из налички и не учитывается в общей формуле, но не понимаю как это сделать.
Помогите, пожалуйста!
Изменено: - 02.08.2013 01:32:57
Вставка картинки по ID номеру, VBA
Пользователь
Сообщений: Регистрация: 01.07.2013
29.07.2013 12:20:49
ber$erk, Спасибо Юрий М, Возможно я погорячился, но это действительно трудоемкий способ, занимающий еще больше времени, чем просто подтащить все картинки руками. Именно поэтому я не вижу в нем никакого смысла (С учетом, что мы все приемы изучаем для экономии времени и более эффективной работы с excel)
простенький макрос сводной выборки по нескольким листам
Пользователь
Сообщений: Регистрация: 01.07.2013
29.07.2013 10:55:03
Dmivanov,
Не знаю насколько поможет в данной ситуации данный макрос, но я им пользуюсь для сборки листов (он тупо добавляют всю информацию со всех листов по порядку на новый лист), мне кажется, если добавить к нему "выбор данных по условию", то должно сработать.
Код
Sub merge() s_ = Sheets.Count Sheets.Add After:=Sheets(s_) For i = 1 To s_ r_ = Sheets(i).Cells.SpecialCells(xlLastCell).Row Sheets(i).Range("A1", Sheets(i).Cells.SpecialCells(xlLastCell)).Copy Sheets(s_ + 1).Range("a" & n_ + 1) n_ = n_ + r_ Next End Sub