Но, задача не решена полностью, так как в подписи имеется логотип (изображение/картинка), и он никак не хочет подтягиваться. Результаты того, что мне удалось добиться, на скриншотах. Что-то торможу, не могу приложить скриншоты, вот ссылки на них: https://yadi.sk/i/bFBt_l3FQJ5lXA https://yadi.sk/i/JoNnvRm0l1LF6A
Кому-нибудь уже удавалось с помощью VBA успешно изменить путь к внешним источникам Power Pivot (подключение к источникам из PP, PQ не задействован)? Всё перепробовал и перелазил инет. Неужели, это невозможно?
Автор этого вопроса не я, но я пытался решить эту задачу и в PQ, и в PP - не вышло :-( Задача решена пока только формулами Excel.
Данный вопрос это маленькая часть задачи, максимально упростил пример и вопрос, чтобы не отвлекаться на остальные решаемые моменты. Итак: Имеем объём в разбивке по датам. По некоторым датам объём нулевой. Необходимо решение (в PP и/или PQ, VBA не интересно), которое будет в новом столбце отображать Объём, если он не нулевой, в противном случае - Среднее значение за предыдущие даты.
Я понимаю, почему решение в примере не работает, но найти рабочее решение не выходит. Буду благодарен любым идеям.
Задача: нужно в PQ преобразовать список так, чтобы в итоге получился список состоящий из исходного списка, а также списков, где каждый элемент был увеличен на 1 и на 2. Сортировка не важна. Решение нашёл, но оно мне не нравится, может есть более светлые идеи. Словами, наверное, сложно описал. См. файл и картинку.
Нужен совет по Power Query. Имеется выгрузка - список клиентов (например, спортзала), во сколько пришёл, во сколько ушёл. Необходимо проанализировать, когда в зале час-пик, а когда свободно. Решение, я как обычно нашёл, но опять мне кажется, сложное. Короче говоря, моё решение мне не нравится. Пример и решение во вложении.
Коллеги, привет! Нужна ваша помощь с Power Query. Есть задачка, я её решил, но что-то мне кажется, что замудрил я. Прошу вас посмотреть на неё и поделиться идеями. Сначала рекомендую не смотреть решение, а попробовать придумать его самостоятельно, иначе, моё решение может увести вас в другую сторону. Задача и моё решение в прилагаемом файле.
Случайно наткнулся на одну странную проблему в Power Query: Некоторые дробные числа распознаются криво, например 2,45 как 2,4500000000000002, а 9,54 как 9,5399999999999991. См скриншот Причём проблема наблюдается только если подключаться к файлу как к внешнему источнику, т.е. через функцию Excel.Workbook, если подключаться из самого файла, т.е. через Excel.CurrentWorkbook, то всё ок. Может кто-нибудь сталкивался уже с такой проблемой?
Вот решил написать функцию, которая будет проверять содержится ли определённый текст хотя бы в одной ячейке заданного диапазона. Получилось следующее: Public Function Наличие_текста(Диапазон As Range, Текст) As Boolean
For Each cell In Диапазон If cell.Value = "*" & Текст & "*" Then Наличие_текста = True Exit Function Else Наличие_текста = False End If Next cell
End Function
Проблема в этой строке. Прошу подсказать, как её правильно написать.
Pavel55 поделился очень ценными ссылками на эту тему и по идее вопросов больше быть не должно. Но у меня возникла сложность с добавлением данного элемента на форму, а именно, при попытке добавить элемент на форму возникает ошибка "Субъект не имеет доверия для выполнения указанного действия".
К сожалению, нигде не смог найти информацию, с чем связана эта ошибка и как это лечить. Может быть кто-нибудь сталкивался с этой проблемой и знает как её решить.
Решил доработать всем известную функцию ЧИСТРАБДНИ, чтобы она учитывала рабочие выходные. Получилось следуещее: ________________________________________________________________________________________ Public Function ОченьЧистРабДни(Нач_дата As Date, Кон_дата As Date, _ Праздники As Range, Раб_вых As Range) As Integer Dim x As Integer, y As Integer y = 0 For Each cell In Раб_вых If cell.Value >= Нач_дата And cell.Value <= Кон_дата Then y = y + 1 End If Next cell x = WorksheetFunction.NetworkDays(Нач_дата, Кон_дата, Праздники) ОченьЧистРабДни = x + y End Function ________________________________________________________________________________________
Хотелось бы узнать ваше мнение, может можно сделать покрасивее как-нибудь и попроще.
Подскажите, пожалуйста, как можно присвоить Value определённой группе (но не всех) элементов в UserForm. Пример: Надо OptionButton1, OptionButton2, OptionButton3, ..., OptionButton31, OptionButton32 присвоить .Value = True. Уточнение: Присвоить значение надо не всем OptionButton в UserForm, а определённой группе.
Можно написать построчно для каждого элемента, но это долго и много. Заранее благодарен за советы!
Прошу помощи. Может кто сталкивался с таким вопросом. Есть столбец с датами в формате "dd.mm.yy hh:mm:ss", и надо подсчитать в этом столбце количество за определённый день. Я использую функцию СЧЁТЕСЛИ со ссылкой на ечейку, где указана нужная дата (по которой надо считать), но дата в этой ячейке указана в формате "dd.mm.yy", т.е. без дробной части (без времени) и соответственно СЧЁТЕСЛИ не считает. Пример во вложении. Подскажите, пожалуйста, как это можно исправить.
Может кто знает команду в VBA, которая обновляется книгу при многопользовательском доступе (когда разрешено изменять файл нескольким пользователям одновременно).
В настройках Сервис -> Доступ к книге ->Подробнее ->Обновлять изменения есть только два варианта: 1)При сохранении файла 2)Каждые Х минут. Минимально можно поставить 5 минут.
5 минут не устраивает, и обновление при сохранении тоже - т.к. сохранение долго происходит, а хотелось бы чтобы обновление происходило по команде (допустим при запуске формы).
Поделитесь информацией, пожалуйста, если кто знает.
Вы неоднократно уже мне помогали решать сложные и не очень задачи, за что вам огромное спасибо. Сейчас придумал сложную задачу (как мне кажется), и сам я её решить, к сожалению не могу. Очень прошу обратить внимание на эту задачку и помочь, если кто в силах.
Пытаюсь написать код, который будет создавать список (Данные=>Список=>Создать список или Ctrl+L). Список должен создаваться до последней не пустой ячейки.
Написал вот так: Sub Макрос1() Dim y y = Лист1.Cells(Rows.Count, 1).End(xlUp).Row ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$8:$AR + Trim(y)"), , xlYes).Name = _ "Список1" Cells.ColumnWidth = 10 End Sub
Но не смог разобраться с диапазоном Написал какой-то бред: Range("$A$8:$AR + Trim(y)") А как правильно не знаю. Нужно чтобы список был создан из диапазона A8:ARy, y - это последняя непустая строка.
Подскажите, пожалуйста, как правильно задать диапазон в этом случае.
Никак не получается реализовать одную идею относительно связных ComboboxОВ. Но сам вопрос относится не к тому как связать списки (это работает), а немного к другому. Во вложении файл с формой с подробным описанием вопроса.
подскажите, пожалуйста, возможно ли номер элемента управления задать в качестве переменной. Чтобы один и тот же код выполнялся для разных элементов при определённых условиях. К примеру: есть код, есть TextBox1 и TextBox2 если сделано то-то, то код выполняется для TextBox1, а если другое, то для TextBox2?
Вопрос возможно странный и необычный, но он меня очень заинтересовал. Код можно запускать по каким-то событиям, к примеру: Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) - в этом случае код запуститься при выходе из ComboBox1 (при переходе к другому элементу от ComboBox1).
Внимание вопрос :-) А возможно ли запускать код не по ОДНОМУ, а по НЕСКОЛЬКИМ событиям? К примеру, нужно чтобы один код запускался при Private Sub ComboBox1_Change(), а другой только при Private Sub ComboBox1_Change() + Private Sub ComboBox2_Click().
Если кто-нибудь что-нибудь знает об этом (или где об этом почитать), то прошу подсказать.
В userform имеется Combobox, в который элементы добавляются при определённых условиях с помощью .AddItem. И в некоторых случаях, когда условия не соблюдены, .AddItem ничего не добавляет в Combobox, т.е. RowSource пустой. Как можно кодом проверить RowSource пустой или нет?
Есть код, а в ней строка, которая в ищет ячейку, в которой содержится текст из Combobox? и присваивает значение найденной ячейки стрингово переменной Reason2. Reason2 = Лист3.Range("AC1:AC57").Find(What:=Me.ComboBox12.Text, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate
Но, к сожалению, код не работает, ссылается на это строку. Посмотрите, пожалуйста, в чём я сделал ошибку.
Прошу помочь, что-то сам не смог разобраться. Есть код, в нём строка (в строке яйцо :-) - шутка): Left(TextBox6.Value, InStr(1, TextBox6.Value, "-") - 1 строка вытягивает из TextBox6 все символы слева до первого дефиса "-".
А как правильно написать строку, чтобы она обрезала первые 4 символа строки (слева), а остальные выдавала (длина строк разная).
Во вложении есть userform с comboboxом. RowSource равен именованному списку "ФИО". Как можно сделать, чтобы в случае, если нет нужного варианта, юзверь смог напечатать свой вариант и этот вариант был автоматом добавлен в именованный список?
и снова вопрос: есть часть кода Range("A9:A65536").Select y = Selection.Find(What:=X, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate код ищет в столбце A (начиная с 9-й строки) значение X. Но ищет путём выделения диапозона. Можно ли сделать как-то покрасивее, т.е. чтобы нужный диапазон не выделялся?
Мне необходимо на textbox установить маску ввода (а именно дата/время), чтобы пользователь ничего лишнего не мог ввести. Перед тем, как задать вам вопрос, полазил в internet. И судя по всему маску просто так установить не удасться, т.е. нужно либо писать сложный код для проверки каждого введённого значения или MaskEdBox. Действительно ли это так или кто-нибудь знает простой вариант решения вопроса?
подскажите, пожалуйста, возможно ли каким-то образом просканировать файл и определить из-за чего у него такой большой объём (размер)?
Также у меня имеются подозрения, что увеличив размер файла путём различных наворотов (макросы, проверка данных, формулы, фильтры, защита листа), потом не получается размер уменьшить убирая из файла эти навороты. Правильно ли это, и каким путём можно это исправить.