Посоветуйте, пожалуйста, как правильно написать DAX формулу. Формула DAX меры при детальном развороте сводной таблицы считает правильно данные по строкам (доля_оплат), но при сворачивании итоговые строки (по товарам) мера считает неверно. Исходный набор данных приведен в прикрепленном файле.
Формула меры, которую необходимо исправить: SUMX( DISTINCT( Sales[Товар №]); MAX(Sales[Доля платежей] ) )
В прикрепленном файле пример предоставлен. Также прикреплен скрин для визуальной оценки проблемы.
Расчет DAX меры по двум условиям из другой таблицы при условии связи "многие ко многим"., По дате и артикулу таблицы реализации необходимо рассчитать объем выпуска из другой таблицы выпуска с помощью расчетной меры DAX.
Требуется ваша помощь для расчета объема выпуска по месяцу и артикулу товара таблицы реализации из таблицы выпуска. Пример прикреплен. Сложность возникает в том, что между таблицами связь многие ко многим и использован составной ключ (связка месяц-артикул). Решения в интернете в основном в том, чтобы создать третью таблицу. Кроме этого, я это реализую в PowerPivot, в экселе, поэтому определить связь между таблицами многие ко многим нет такой функции. В таблице реализация есть затраты на производство по дням, а в таблице выпуска количество произведенного товара по дням. Дни не совпадают, и синхронности нет между двумя таблицами. Но месяц производства и месяц затрат совпадают. В примере приведена модель данных, есть попытка расчета меры, но она дает ошибку.
В примере также показана результативная таблица, но с помощью функции sumifs().
Вопрос, есть ли возможность без создания третей таблицы написать меру по подобию экселевской функции sumifs() с условием связи таблиц "многие ко многим"?
Расчет по шаблону формулы в Excel с помощью PQ, Необходимо рассчитать значение в Excel, используя значение других показателей по шаблону формулы с помощью PQ
Необходима ваша помощь в решение задачи автоматизации расчетов на основании шаблонов формул. К сообщению прикреплен файл с примером. Есть решение данного вопроса в VBA, но требования изменились к использованию PQ, поэтому снова пришлось вернуться к этому вопросу. В примере указаны 5 показателей, из которых 2 показателя (показатели 4 и 5) получены расчетным путем на основании других показателей с использованием представленного шаблона формул. Шаблоны формул указаны по следующему правилу: наименование показателей заключены в квадратные скобки, другие знаки по правилам математики - вообщем в экселе, только вместо ячеек указан код показателя в квадратных скобках.
Расчет по шаблону формулы в Excel с помощью VBA, Необходимо рассчитать значение в Excel, используя значение других показателей по шаблону формулы с помощью VBA
Необходима ваша помощь в решение задачи автоматизации расчетов на основании шаблонов формул. К сообщению прикреплен файл с примером. В примере указаны 5 показателей, из которых 2 показателя (показатели 4 и 5) получены расчетным путем на основании других показателей с использованием представленного шаблона формул. Шаблоны формул указаны по следующему правилу: наименование показателей заключены в квадратные скобки, другие знаки по правилам математики - вообщем в экселе, только вместо ячеек указан код показателя в квадратных скобках.
На простарах интернета не смог найти подходящий скрипт VBA, который просматривает шаблон формулы и на его основании, расчитывает значение искомого показателя.
Добрый вечер, форумчане! Подскажите, пожалуйста, как исправить макрос, который генерирует ошибку. К вопросу приложен файл, в котором с помощью xml созданы три вкладки: "Панель №1", "Панель №2" и "Вход в программу". Во вкладке "Вход в программу" есть единственная кнопка - "Вход в программу", необходимо, чтобы при ее нажатии две другие вкладки ("Панель №1", "Панель №2") появлялись, в исходном состоянии эти вкладки скрыты. Вот код XML:
Но при нажатии кнопки макрос выдает ошибку: Obect variable or With block variable not set. Вот макрос:
Код
Option Explicit
Sub CRMEnter(ByRef control As IRibbonControl)
Application.ThisWorkbook.CommandBars("PanelFirst").Visible = True
Application.ThisWorkbook.CommandBars("PanelSecond").Visible = True
End Sub
Подскажите из-за чего появляется ошибка. Спасибо за помощь.
Добрый день, форумчане. Помогите, пожалуйста, с установкой календаря в форме вода. К сожалению, в моем корпоративном экселе отсутствуют встроенная форма календаря. Поэтому пришлось с интернета позаимствовать уже созданные календарь с помощью макроса. К одной из форм ввода приспособить данный календарь не возникло проблем, а к двум другим, где также требуется ввод даты не получается организовать возврат даты. Т.е. когда вызываешь календарь из первой формы и выбираешь дату, то дата возвращается в комбобокс формы, т.к.в модуле календаря (процедура Sub Set_Date()) прописан возврат даты только в первую форму. Из двух других форм календарь вызывается, но дата не возвращается в соответствующий комбобокс открытой формы. Не могу найти способ, чтоб даты возвращались в нужный комбобокс. Файл пример прикреплен.
Не получается сделать оптимальны алгоритм для обработки иерархии элементов. Существует определенная иерархия элементов как показано на картинке, заранее не известно кол-во ее уровней, и кол-во элементов на каждом уровне неодинаково, т.е. ветви каждого элементов могут содержать как 1, так и 100 элементов. И при указании наменовании первого элемента этой иерархии необходимо отобразить все элементы относящиеся только к этому элементу согласно иерархии. В данный момент я просто сделал 5 циклов, которые выполняют эту задачу, но это сильно тормозит процесс, а в будущем неизвестно будет ли достаточно этих 5 циклов, возможно надо будет еще добавлять.
Форма ввода данных, спрятанная в надстройке, В надстройке скрыта форма ввода данных в виде обычного листа. Но при работе надстройки возникают непредвиденные собщения системы.
Доброго времени суток, опытные разработчики приложений!
Необходимы ваши советы и опыт разработки надстроек. Ситуации состоит в следующем, есть надстройка, в которой "спрятана" форма ввода в виде обычного листа excel. Смысл в том, чтобы при подключении надстройки, находящийся в ней макрос отображает форму ввода в обычном листе excel. Триггер для запуска макроса в надстройке будет кнопка в понели инструментов, которая появится в момент подключения надстройки - "Run Macro". Технически макрос выполняет копирование листа со всеми кнопками управления из надстройки в новый открытый файл, но как видно в коде надстройка преобразуется в файл, а затем снова - в надстройку. Как начинающий разработчик я опасаюсь определенной уязвимости кода, но из-за недостатка опыта пока не могу определить характер такой уязвимости. Уязвимость я имею ввиду, что код может не сработать у пользователя, или случайно пользователь запустить vba editor. Код приведен ниже:
Код
Private Sub AddinsActivate()
Dim sAddinName$
Dim ws As Worksheet
On Error Resume Next
Application.ScreenUpdating = False
ThisWorkbook.IsAddin = False
Application.DisplayAlerts = False
sAddinName = ThisWorkbook.Name
'преобразование надстройки в файл
Workbooks(sAddinName).Windows(1).Visible = False
'переборка листов в новом файле, если будут листы с похожим наименованием
For Each ws In ActiveWorkbook.Sheets
If VBA.LCase(ws.Name) Like "*ффф*" Then ws.Delete
Next
Workbooks(sAddinName).Worksheets("ФФФ").Copy _
After:=ActiveWorkbook.Sheets(1)
ThisWorkbook.IsAddin = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
По теме два вопроса: 1) На сколько механизм реализации отображения формы ввода надежен, или есть возможность это реализовать лучшим способом. Сразу оговорюсь, форма ввода необходима в виде листа excel. 2) После закрытия нового файла, почему-то выходит сообщение о необходимости сохранения и надстройки. Как убрать это сообщение.
Помогите, пожалуйста, устранить ошибку (Error '9') при создании массива с помощью макроса VBA. Есть таблица с данными по продуктам в разрезе по магазинам и районам. Необходимо создать двухмерный массив данных с помощью VBA, где колонками будут выступать магазины, а строками районы (см.прикрелпенный файл).
Вот существующий код:
Код
Sub PopulateMassiv()
Dim a, i, j, k As Integer
Dim strA, strB, strC As String
Dim arrA, arrB(), arrVar, c, b As Variant
arrA = Array("Юг Итого", "Восток Итого", "Запад Итого")
b = 0
c = 0
i = 0
For a = 0 To UBound(arrA)
Do While Worksheets("Запасы").Cells(4 + b, 2).Value <> arrA(a)
If Worksheets("Запасы").Cells(4 + b, 2).Value = arrA(a) Then
b = b + 3
ElseIf Right(Worksheets("Запасы").Cells(4 + b, 2).Value, 5) = "Итого" Then
b = b + 2
Else
End If
Do While Right(Worksheets("Запасы").Cells(4 + b, 2).Value, 5) <> "Итого"
'strA = Worksheets("Çàïàñû").Cells(4 + b, 2).Value
j = j + 1
b = b + 1
Loop
ReDim Preserve arrB(a, 0 To 4)
arrB(a, i) = j - 1
i = i + 1
b = b + 1
j = 0
Loop
a = a + 1
Next a
End Sub
Уважаемые форумчане! Помогите, пожалуйста, советом что необходимо сделать чтоб повысить быстродействие и отказоустойчивость написанного кода VBA, работающего только в 2013 Excel - такие заданные условия. Файл так работает, что необходимо только вставить значения в незакрашенные области и запустить макрос с помощью кнопки "создать диаграммы". Сортировку и построение диаграмм макрос выполняет сам.
Есть одна проблема в коде, которую мне пока не удалось обойти, что если значение в незакрашенной области только одно, то диаграмма не создается в нужном виде. Поделитесь, опытные кодеры как можно обойти эту проблему с помощью использования массива, но не того типа, который сейчас используется в коде.
Уважаемы, форумчане! Подскажите, пожалуйста, почему при написании следующего макроса, возникает ошибка:
Код
Sub DataLabels()
ActiveChart.SeriesCollection(1).ApplyDataLabels
With ActiveChart.SeriesCollection(1).DataLabels
With .Font
.Name = "Times New Roman"
.Size = 10
.Bold = msoTrue
End With
.Position = xlLabelPositionAbove
.NumberFormat = "#,##0.00_);[Red](#,##0.00)"
End With
End Sub
Основная цель макроса - установление положения Data Labels над столбцами гистограммы. Ошибка появляется при выполнении строки #9. Или возможно есть другой вариант исполнения макроса.
Помогите решить проблему округления. Мне необходимо округлить определенный перечень значений, но так округлить, чтоб конечный результат был кратен указанному мной значению. Например, я имею 15 566, это значение должно быть кратно 300 (по условиям задачи), самое близкое кратное значение должно быть 15600. Подскажите какими способами можно решить данную проблему! Спасибо заранее.
Помогите, пожалуйста, создать макрос с нуля. Суть макроса - создание функции, которая будет считать согласно выставленным требованиям. Сразу скажу, что то, что должна делать эта функция можно добиться и обычными средствами Экселя, но дело в том, что есть требование к тому как она должна выглядеть,т.е. ее синтаксис четко прописан. Описание проблемы находится в прикрепленном файле.
Всех с наступившим Новым годом! Помогите, подскажите, пожалуйста, каким образом в Excel 2003 и 2007 можно настроить горячие клавиши. Если, например, я хочу, чтоб определенные функции (увеличение разрядности, изменить цвет заливки и т.д.) выполнялись при нажатии удобного для сочетания клавиш. Извиняюсь зараннее, если еще раньшее был данный вопрос :)