Добрый день, файл загрузил в экселе, меру надо написать в power bi.
Суть в том, что в файле во вложении, есть сводная таблица, которая строится на данных источника. Мне нужно написать меру выполнения плана, в месяцах, где есть факт - факт / план, где нет факта, но есть план - прогноз / план. Суть в том, что в итоговой строке мера работает точно также. То есть, например, в 2х месяцах из 10ти есть факт, Соответственно мера делит сумму 2 месяцев факта на сумму 10 месяцев прогноза и получается некорректные итоги.
Подскажите, пожалуйста, как написать эту меру, чтобы итоги считались верно
PooHkrd, нужно выгрузить таблицу из визуального элемента, в котором присутствуют лишние колонки. Соответственно, нужно, чтобы лишние колонки не выгружались
Всем привет, я никогда не работал с pbi, поэтому нет понимания, что делать и где искать, подскажите пожалуйста
Задача такая, что в pbi есть некая таблица, которую нужно экспортировать в эксель в определённом формате (автоматический экспорт не подходит, там много лишних данных выгружается).
Подскажите куда копать, можно ли через vba обратиться к pbi, чтобы выгрузить определённые колонки, которые мне нужны? И что вообще можно почитать по этому поводу, я не понимаю, что мне написать в гугле, чтобы он выдал ту информацию, которая мне нужна)
Сергей, суть в том, что есть две текстовые ячейки, неизвестного количества символов. В одной из этой ячеек справа есть ещё дополнительный текст, но, грубо говоря, первое слово всегда одинаковое. Нужно, чтобы они были равны. Я постарался достаточно ясно объяснить это выше. Просто не ожидал, что такая проблема будет, думал также, как при открытии файла, можно будет прописать звёздочку, но не вышло
Александр П., ну дату можно прописать как текст, в каких-то случаях это просто текст будет. Ну если знаете, как формулами, то напишите) Формулы тоже можно на вба прописать. Просто сравнение по определённому количеству символов не подойдёт, поскольку их постоянно разное количество
Сергей, да это я просто тестовый файл создал, пытался в другом) Так можно, но не всегда речь идёт о датах, поэтому сравнение фиксированного количества символов не подойдёт
Добрый день, друзья. Ситуация такая, например, есть две ячейки, в одной "апр.18", во второй "апр.18 га", какой код на vba нужно написать, чтобы эти ячейки считались равны и в ячейке C1 выводился "+". У меня что-то посредством попыток вставить звёздочки в разные места ничего не получилось
Всем доброго времени. Не могу додумать, как прописать код в VBA. Есть два листа, на листе 1 есть список поставщиков, к которым накопительно копируются значения. На втором листе есть список тех же поставщиков, но они расположены не по порядку. Нужно подтянуть на лист один в следующий пустой столбец значения по каждому поставщику со второго листа
Всё просто, если воспользоваться функцией ВПР, но проблема в том, что на каждом листе значения формируются накопительно. То есть в следующий раз на первом листе будет 4 столбца значений, а на втором 2 (при этом значения на втором листе всегда сортируются по последнему столбцу в порядке возрастания, поэтому 1-я колонка с наименованиями каждый раз в разном порядке)
В общем, если кто подскажет, как сделать так, чтобы искать по совпадению наименований в массивах на каждом листе, буду очень благодарен
Всем добра, подскажите, как правильно задать массив наименований листов, чтобы использовать его в цикле. Вот кусок кода (ошибка в строке задавания переменной s=..) Цель - чтобы не прописывать одинаковый порядок действий для разных листов, записать это циклом
Код
Dim s() As String, i As Long
Workbooks.Open ThisWorkbook.Path & "\pharmacies\pharmacies.xlsx"
s = Array("adv", "vapt", "edel", "mapt+", "tonus", "mapt")
Set pharm = Workbooks("pharmacies.xlsx")
For i = 0 To UBound(s)
pharm.Sheets(s).Activate
Range("a2:j" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
app.Activate
Range("a" & Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial xlPasteValues
Next i
vikttur, не знал о таком приёме, спасибо. Почему-то вылетела ошибка "type mismatch", но суть я понял. Файл с примером я на скорую создал и ошибся в ссылке на ячейку, извиняюсь
PS ошибку исправил, забыл задать переменные значениями. Теперь буду знать, что так можно делать)
Всем доброго времени суток, наткнулся на проблему, никак не получается от неё уйти. Когда я задаю адрес ячейки переменной и вставляю переменную в формулу, адреса ячеек закрепляются знаком "$". При протягивании формулы вниз, формула во всех ячейках остаётся одинаковой. Подскажите, как задать адрес ячейки, чтобы он не закреплялся
Вариант - прописать адреса ячеек не через переменную, я не учитываю, поскольку при каждом расчёте ячейки будут сдвигаться
Код
Sub test()
Dim lr As Long, lc As Long, k As Variant, l As Variant, p As Variant, b As String, a As String, wlr As Long, wlc As Long
lc = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
lr = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
b = Cells(2, lc).Address
a = Cells(2, lc - 1).Address
ActiveSheet.Cells(2, lc).FormulaLocal = "=" & b & "-" & a
ActiveSheet.Range(Cells(2, lc), Cells(lr - 1, lc + 1)).FillDown
End Sub
Добрый день всем, подскажите пожалуйста, как вывести дату изменения файла, если неизвестно полное имя файла.
В папке есть файлы, названия которых: pr_2017_9_26_10_10_22_AM.txt ; pr_2017_9_26_10_14_01_AM.txt и т.п.
Код
Sub proverka()
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("\\go-file01\папка1\папка2\папка3\11111\1" & "\" & "pr_" & Format(Date, "yyyy_m_dd") & "_*" & ".txt")
mStr = mStr & "Дата последней модификации мой файл - " & File.DateLastModified & vbCrLf
MsgBox mStr
End Sub
То есть мне необходимо найти файл с сегодняшней датой, которая пишется в формате "_2017_9_26", при этом, файлов с этой датой может быть несколько, либо вывести самую крайнюю дату изменения любого из файлов, находящихся в этой папке. У всех файлов из папки в наименовании неизменно только "pr" и формат .txt
Всем доброго времени суток. Не получается продлить программно источник данных для графика. У меня написан код, который открывает книгу с графиком и копирует рассчитанные значения в первый пустой столбец справа. То есть, сейчас источник данных выглядит так: ='для графиков'!$A$1:$M$9. Сегодня я запускаю расчёт и по его окончанию в стобец N скопируются значения. После чего нужно, чтобы источник данных продлился на один столбец правее
Код
Sub graph()
ActiveWorkbook.Sheets("для графиков").Cells(2, lastcol + 1).PasteSpecial
Cells(1, lastcol + 1).FormulaR1C1 = "=TODAY()"
ActiveWorkbook.Sheets("графический").Select
'lastdia = kr.Sheets("для графиков").Cells(1, Columns.Count).End(xlToLeft).Column
ActiveSheet.ChartObjects("Диаграмма 1").Activate
ActiveChart.PlotArea.Select
'ActiveChart.SetSourceData Source:=Sheets("для графиков").Range("A1" & lastdia)
End Sub
Прошу прощения, если тему назвал непонятно, не могу придумать адекватное название
Всем доброго здравия, имеется код, который при выполнения цикла последовательно вставляет таблицу ("a1:g") с одного листа на другой отступая от каждой предыдущей вставки две строки вниз. Не получается прописать, чтобы после каждой вставки таблицы, макрос выполнял для только что скопированной таблицы "формат по образцу"
Код
Sub mcrs1()
Dim i As Long
For i = 5 To 12 Step 1
lstr = Worksheets("copy").Cells(Rows.Count, 1).End(xlUp).Row + 2
[w2] = Worksheets("ras").Cells(i, 29)
[x2] = Worksheets("ras").Cells(i, 30)
Call fltr2
Worksheets("dinc").Activate
Range("a1:g10").Copy
ActiveWorkbook.Sheets("copy").Activate
If Worksheets("copy").Range("a1") <> "" Then
Worksheets("copy").Range("A" & lstr).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("copy").Range("A1").PasteSpecial Paste:=xlPasteFormats
End If
If Worksheets("copy").Range("a1") = "" Then
Worksheets("copy").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("copy").Range("A" & lstr).PasteSpecial Paste:=xlPasteFormats
End If
ActiveWorkbook.Worksheets("ras").Activate
Next i
End sub
В моём случае формат по образцу делается только для первой таблицы, которая вставляется в ячейку "a1". Остальные таблицы просто вставляются на другой лист значениями, формат по образцу для них не выполняется
tolstak, спасибо) Тут всё же не то, выбирается всё, что указано в диапазоне. А у меня есть сводная выгрузка в которой есть клиенты и поставщики. Рядом со сводной прописаны вычисления, итог того, что мне нужно выводится в таблицу на другом листе. То есть мне нужно, чтобы выбирался клиент 1 - поставщик 1, затем копировалась таблица с итогами на отдельный лист; далее клиент 1 - поставщик 2, копируется таблица с итогами ниже первой и так далее до клиент 4 - поставщик 7 (условно). Я, конечно, могу вручную прописать выбор поставщиков для каждого клиента, но это не слишком удобно, если вдруг нужно будет добавить или убрать клиента/поставщика
Вам в любом случае большое спасибо, что потратили время и попытались помочь
Андрей VG, я в vba то не особо разбираюсь, в sql вообще ничего практически не понимаю. К тому же sql это совсем другой лес, у меня нет доступа к редактированию sql запросов. У меня есть таблица, которая есть. И на основе неё я и делаю свою задачу
tolstak, и я так понимаю, ваш макрос выдаёт результат только если в сводной выбраны все поставщики и все клиенты. В моём случае это всё не поместиться на одном листе