Добрый день. Написал меру которая вычисляет значение остатка денежных средств, но есть даты за которые нет ни затрат, ни поступлений, а остаток должен дублироваться и быть таким как за прошлый день. Может у кого была такая проблема. В Power Query это решается: Преобразование - заполнить вниз, в DAX пока решения не нашел.
Добрый день. Столкнулся с проблемой при написании функции TOTALYTD. Общий синтаксис TOTALYTD(<expression>,<dates>[,<filter>][,<year_end_date>]), Написал переменную VAR, которая вычисляет максимальную дату и оставляет ее в формате "30/11", но функция TOTALYTD не допускает year_end_date как ссылку на переменную, ей подавай "30/11". Может кто сталкивался? Для чего это делается: нужно чтоб сума с начала года была с января по ноябрь, но увы если не прописать окончание года в параметре year_end_date, в декабре сума буде аналогичной до ноября
Добрый день. Функция ДВССЫЛ в функции СУММ и использовании нескольких имен не работает. Если использовать одно имя все Ок. Есть ли возможность использовать несколько имен в ДВССЫЛ и функции СУММ.
Добрый день. Есть неработающая формула =СУММПРОИЗВ(ДВССЫЛ($A$1)*(KEYF=A2)), где, ДВССЫЛ($A$1) это ссылка на значение в ячейке $A$1 с названием именованного диапазона, значение ячейки А2 следующее {"A60";"C33";"C25"}.
Если в формуле сделать замену =СУММПРОИЗВ(ДВССЫЛ($A$1)*(KEYF={"A60";"C33";"C25"})) она работает, а если послаться на ячейку A2 в которой внесено {"A60";"C33";"C25"}, она перестает работать. Есть идеи как это реализовать?
Добрый день. Возникла необходимость при запуске книги, запускать созданную вкладку на ленте. Я подозреваю без макроса не обойтись. Может кто сталкивался с такой проблемой
Добрый день. Столкнулся вроде с простой проблемой, но решить не могу. Нужно в выпадающий список вставить ссылку на несмежный диапазон, типа: =E20:E23;F18:F23.
Добрый день. Написал код перебора значений в массивах a, b, но скорость работы не очень. Каким образом перебор можно ускорить?
Код
Sub ddd()
Dim l, m As Long
Dim a, b, c
With ThisWorkbook.Sheets("BASE")
KilkRow = .Cells(Rows.Count, 1).End(xlUp).Row
a = Range(.[F2], .Range("H" & KilkRow)).Value
End With
With ThisWorkbook.Sheets("BASE0")
'iLastrow2 = .Cells(Rows.Count, 1).End(xlUp).Row
b = Range(.Cells(2, part0), .Cells(KilkRow0, kilk0)).Value
End With
ReDim c(1 To UBound(a, 1), 1 To 1)
For l = 1 To UBound(a)
PartBase = a(l, 1)
KilkBase = a(l, 3)
For m = 1 To UBound(b)
ThisWorkbook.Worksheets("BASE0").Activate
kilpart = Application.WorksheetFunction.CountIf(Range(Cells(2, part0), Cells(KilkRow0, part0)), PartBase)
If (kilpart = 0) Then
c(l, 1) = "1"
Else If (b(m, 1) = PartBase) And (b(m, 3) <> KilkBase) Then c(l, 1) = "2"
Else
End If: End If
Next m
Next l
With ThisWorkbook.Sheets("BASE")
Range(.[W2], .Range("W" & KilkRow)).Value = c
End With
End Sub
Добрий день. В операциях вычитания и сложения возникла ошибка в операциях с плавающей точкой. Как написать Microsoft? Файл создавался пользователем с низкой квалификацией который не знает функции ОКРУГЛ. Если использовать только функцию ЕСЛИ, то выводится значение ЛОЖЬ
Добрый день. Администраторам и модераторам форума хочу предложить создать, например в разделе приемы, базу данных сложных формул, которые можно будет отбирать с форума или же туда будете брать присланные желающими.Вот такое небольшое предложение
Доброго времени суток. Существует база данных которая пополняется каждый месяц (в файле упрощенная структура). Нужно выбирать данные с каждого месяца (столбе Дата), при некоторых условиях подсчитывать количество. Например, нам нужно выбрать количество людей у которых столбец "Показатель" равняется нулю при условии что у них одинаковый код счета (это один и тот же человек) за 2 месяца. Сводной таблицей - это делается просто, но она не подходит. Пробую придумать формулу для этого дела. СУММПРОИЗВ не очень работает (ему постоянно нужна одинаковая структура). Вот такая задачка. Для удобства выделил графу зеленым и сделал сводную
Добрый день. Не могу справиться с елементом dropDown в панели Ribbon. На листе есть ячейки с месяцами, элемент dropDown дает возможность выбрать месяц. Это работает, но вот при каждом открытии книги выводится первый месяц, а не тот который в ячейке. Интернет в этом вопросе очень скуп. Как можно решить эту проблему? Даю код xml <dropDown id="dd1" label="Мeсяц:" getItemCount="DDItemCount" getItemLabel="DDListItem" onAction="DDOnAction" getSelectedItemIndex="DDItemSelectedIndex" Код VBA Option Explicit Dim ItemCount As Integer Dim ListItemsRg As Range Dim MySelectedItem As String Dim PEkr As String
Sub DDItemCount(control As IRibbonControl, ByRef returnedVal) With Sheets("_" ;) .Range("A11:A22" ;) Set ListItemsRg = Range(.Cells(1), .Offset(.Rows.Count).End(xlUp)) ItemCount = ListItemsRg.Rows.Count returnedVal = ItemCount End With End Sub
Sub DDListItem(control As IRibbonControl, index As Integer, ByRef returnedVal) returnedVal = ListItemsRg.Cells(index + 1).Value ''index is 0-based, our list is 1-based so we add 1. End Sub
Sub DDOnAction(control As IRibbonControl, ID As String, index As Integer) MySelectedItem = ListItemsRg.Cells(index + 1).Value ThisWorkbook.Sheets("Data" ;) .Range("G1" ;) .Value = ListItemsRg.Cells(index + 1).Value End Sub
Sub DDItemSelectedIndex(control As IRibbonControl, ByRef returnedVal) returnedVal = 0 MySelectedItem = ListItemsRg.Cells(1).Value End Sub
Добрый день. Необходимы идеи, как можно разделить данные таблицы в которой столбцы необходимо поставить в строки. Пишу макрос, это можно реализовать сводной таблицей, но вот в VBA это сложно. Файл прилагается
Добрий день. Имеется таблица из которой нужно выбрать текстовые поля при выполнении нескольких условий. Функция СУММПРОИЗВ выводит ошибку. Для числовых значений вопросов нет, а вот текст отказывается выбираться
Доброго времени суток. Функция СУММЕСЛИМН отказывается суммировать если в условии стоит "=80*". Как с этим бороться? Для текстовых значений вопросов нет, а там где числовое значения - вопрос
Добрый вечер. Возникла необходимость скопировать текстовое значение из одной ячейки в другую (непустую), чтобы в последнюю добавилось значение первой, не нарушая значений, то что в ней было.Вроде просто реализуется с помощью VBA кода, но вот если просто вставкой значение последней ячейки удаляется при вставке
Добрый день. Нужна выборка из листа по двум критериям и вывод значений по возростанию. Написал формулу массивов =НАИМЕНЬШИЙ((База!$A$2:$A$1048576>0)*((База!$BO$2:$BO$1048576)=$N$4)*База!$A$2:$A$1048576;1), выводит нулевое значение. Почему?
Добрый день. В VBA создал пользовательскую формулу которая рассчитывает определенное значение. Потом лист переносится в новую книгу, а для того чтоб остались значения делается специальна вставка-Вставить значения. После этого значения из листа, где были пользовательские формулы пропадают, я так понимаю что область действия таких формул только на книгу в которой находится даная функция. Какое есть решения для того, чтоб после копирования листа и вставки значений значения оставались?
Добрый вечер. Есть программный код которым формируется таблица и сразу задается область печати Application.PrintCommunication = True Set Prnt1 = Worksheets(NLIST).Range(Cells(1, 1), Cells(j + 10, 10)) ActiveSheet.PageSetup.PrintArea = Prnt1 Application.PrintCommunication = False
Добрый вечер.Существует сформированный массив размером 150на11.Нужно без использования циклов уменьшить его величину до 100на11 (50 значений нужно отбросить сначала, а не в конце).
Добрый день. Проблемка следующего характера: есть таблица в которой имеются поля Код и сумма и другая таблица с полем Код. Нужно чтобы формула выводила сумму значений таблицы один при условии совпадения кода из таблицы 2. Моя формула массивов, как я не пробовал ее моддифицировать отказывается это делать, писать процедурку тоже не очень хочется.Подбробнее в примере
Добрый вечер. Написал очень много програмного кода и дошла очередь до создание ленты Риббон Х и столкнулся с проблемой: очень мало информации в т.ч. и книг. Методом втыка очень сложно. Хочется освоить методологию. Всем кто напишет ссылочки или подскажет литературу - буду очень благодарен.Заранее спасибо
Добрый день.Ситуация следующего характера, нижеприведенный код заносит в массив MDan уникальные значения, после чего нужно вычислить сколько значений в массиве.Функция UBound виводит 65365, хотя их 4. Все через строчку кода ReDim MDan(1 To Rows.Count, 1 To 1). Пробовал перезаписать из массива в массив условием <>"", но результат такой же. Dim vItem, MDan, li As Long ReDim MDan(1 To Rows.Count, 1 To 1) With New Collection On Error Resume Next For Each vItem In Range("M2", Cells(Rows.Count, 13).End(xlUp)).Value .Add vItem, CStr(vItem) If Err = 0 Then li = li + 1: MDan(li, 1) = vItem Else: Err.Clear End If Next End With
Добрый день.Задача следующего характера, нужно сделать форматирование несмежных диапазонов, при этом используя команду Cells.Пример который не работает With ThisWorkbook.Worksheets("11").Range(Cells(iLRow + 4, 3), Cells(iLRow + 4, 4)) And ThisWorkbook.Worksheets("11")..Range(Cells(iLRow + 6, 3), Cells(iLRow + 6, 4)) .HorizontalAlignment = xlLeft .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End With
Добрый день. Вопрос следующего характера: нужно отобрать текстовые значения при выполнении нескольких условий. Функция СУММЕСЛИМН не работает (выводится значение 0), функции массивов тоже отказались работать.
Добрый день.Прочитал кучу информации, в т.ч. и на форуме по сортировке данных в массиве.Но увы.Суть вопроса есть процедура которая формирует данные с листа в массив по определенным условиям ReDim b(1 To UBound(A, 1), 1 To 9) For i = 1 To UBound(A) If A(i, 9) = ZND Then k = k + 1 j = j + 1 b(j, 1) = k b(j, 2) = A(i, 2) b(j, 3) = A(i, 3) b(j, 4) = A(i, 4) b(j, 5) = A(i, 5) b(j, 6) = A(i, 24) b(j, 7) = A(i, 24) b(j, 8) = A(i, 19) b(j, 9) = A(i, 23) End If Next i Нужно отсортировать сформированный массив по фамилиям, которые находятся в стобце 2 Как это проще всего реализовать.Заранее благодарен