Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Как на самом деле работает Text.SplitAny в PQ ?
 
У меня стоит задача из текста  типа "3пст 31-00259641 от 12.10.2021" выделить ключевое значение "259641"  цифровая.
Использую следующий код:

Код
= Table.AddColumn(#"Измененный", "НомЗпст2", each Text.SplitAny([Заказ клиента.Номер заказа магазина],Text.Remove([Заказ клиента.Номер заказа магазина],{"0".."9"}))),

Здесь, я сначала из текста убираю все цифры, этот промежуточный результат использую для разделения исходного текста как separators функции Text.SplitAn  и получения отдельных цифровых групп, ведь как указанно в справке "Text.SplitAny Возвращает список текстовых значений, полученных в результате разбиения текстового значения text на основе любого символа в указанном разделителе separators"

Но по факту, все происходит не так, и в приведенном мной ранее примере "3пст 31-00259641 от 12.10.2021"  у меня разбивается на следующие группы:
331
25964112
10
2021
Т.е. групп явно меньше чем ожидается и не происходит выделения нужной мне.
При этом, в  случае например "3пст 31-00259641" группа "259641" выделяется.

Да как же так-то?
PowerQuery чувствителен к регистру названия полей в Эксель-источнике
 
Столкнулся с тем, что PowerQuery чувствителен к регистру текста в названия полей в Эксель-источнике. Это можно преодолеть с помощью самого PQ?
Пожалуйста не спрашивайте меня, как это и почему регистр текста названия полей в выгрузке может меняться)))
Ошибка Method open of object_Connection failed при подключении к ADO
 
Здравствуйте!

Использую годами подключение  (от Дмитрий Русак dg_rusak@mail.ru)
Код
Dim sCon As String, FieldName As String
Dim rs As Object, cn  As Object
Set rs = CreateObject("ADODB.Recordset")
Set cn = CreateObject("ADODB.Connection")
If FieldsName Then FieldName = "Yes" Else FieldName = "No"

FilePath$ = ThisWorkbook.FullName

Select Case CLng(Split(Application.Version, ".")(0))
    Case Is < 12
        sCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath _
          & ";Extended Properties=""Excel 8.0;HDR=" & FieldName & ";IMEX=1"";"
    Case Is >= 12
        sCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FilePath _
        & ";Extended Properties=""Excel 12.0;HDR=" & FieldName & ";IMEX=1"";"
End Select

cn.Open sCon


С сегодняшнего дня на Open начало выдавать ошибку Method open of object_Connection failed.
На соседней машине с аналогичной системой все работает.
Что бы это может быть?
Изменено: Столбенко Владислав - 23.07.2021 13:41:57
Неочевидные особенности работы функции IsEmpty
 
Извлекаю значение из Dictionary, без буферной переменной. Обертываю его в IsEmpty(значение), значение при этом String, его замеряемая длинна Len =0, на прямое сравнение значение=Empty  выдает True. Но IsEmpty выдает False!
Лезу в справку, в справке есть указание что аргумент желателен Variant, при этом как-то это поверхностно указанно.  Делаю финт ушами IsEmpty(CVar(значение))  , но один черт IsEmpty возвращает False.
Товарищи, че за .....???

Есть небольшая предыстория. Значение (в данном случае из пустой ячейка) попадает в Dictionary из отчета формируемого чудо-юдо CRM Аварда с помощью FastReport и там бывает творятся всякие разные чудеса. Так например берешь с отчета сумму c дробью, оно распознается как Double, но оно оказывается не равно другому такому-же Double, только через CCur. И причем это происходит не совсем столбцом, а выборочно.
Но Empty не IsEmpty это уже перебор.
Преобразование числовых типов через Cstr и последущее сравнение на равность, Преобразование числовых типов
 

Собираюсь эмулировать в Collection возможность использования ключей в числовых типах (Byte,Decimal,Double, Single,Integer,Long, Currency) . Делать это собираюсь через функцию Cstr. Также собираюсь использовать в ключах и тип Date, но перед Cstr делать конверсию в Double.  Одним словом частично эмулировать в Collection возможности ключей разных типов Dictionary.  В Dictionary без проблем можно создать ключ например в Date и отыскать его в запросе с аргументом в ином типе, но с равным значением. Получится ли у меня такой финт преобразованиями  через Cstr ? Ожидаю проблемы Cstr преобразования типов с дробями  -  Single, Double,  Currency, Decimal  и CDbl(Date). Прав ли я в опасениях?

Использовать Dictionary не могу т.к. приходится использовать позднее связывание словаря, а в 2013 от такого скорость падает буквально в 5 раз по сравнению с прямым связыванием.

Быстродействие классов с большими структурами данных внутри., Быстродействие ООП
 
В классе создаю коллекцию коллекций  (или коллекцию  Dictionary, или массивов, - все испробовал) в несколько тысяч строк.
Наблюдаю следующее быстродействие в версиях Экселя ( в условной оценке):
2003  на слабой машинке - достойный результат. Старый добрый АК-47.
2009 на средней машине - отлично!
2013 на машине несколько выше среднего - примерно 5-ти кратное падение скорости  по сравнению с 2009 !
в 2013 тестово выношу создание коллекции коллекций в модуль - рост скорости почти в 4 раза! Заношу назад в класс, маневрирую в классе и так и этак - результата ноль, скорость дрянь.
WTF ?
Костылить часть кода из класса в модуль? @#$№№&й стыд!  
VBA: DataObject - некорректное отображение символов при вставке из буфера обмена
 
Отказался работать DataObject .

Запускаю код
Код
Dim MyDataObj As New DataObject
MyDataObj.SetText ActiveCell.Value  
MyDataObj.PutInClipboard  

После этого на Ctrl+V из буфера выдается белиберда,- непечатные символы ��.

Ссылка на библиотеку Forms 2.0  подключена.

Ранее этот код работал. Почему перестали ехать лыжи ?

Стиль ссылок при работе с PivotTables, Зачем-то приходится инвертировать стиль ссылок при работе с PivotTables
 
Столкнулся с необходимостью инвертировать стиль ссылок при работе с PivotTables при изменении  источника данных сводной таблицы, иначе ругается.
Но зачем и почему?   Или лыжи невиноваты ?


Код
''''''''''''' зачем-то инвертируем стиль ссылок при формировании сроки адреса диапазона данных сводной
bRefStyle = iif(Application.ReferenceStyle= 1, -4150, 1)
 
''''''''''''''''''''''''''формируем сроку адреса диапазона данных сводной
sPtData = ФайлПодтверждения.Path & "\" & "[" & ФайлПодтверждения.Name & "]" & ФайлПодтверждения.Worksheets(4).Name & "!" & ФайлПодтверждения.Worksheets(4).[a1].CurrentRegion.Address(, , bRefStyle)

''''''''''''''''''''''''прогружаем диапазон данных сводной
ActiveSheet.PivotTables("СводнаяТаблица1").ChangePivotCache ActiveWorkbook. _
        PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        sPtData _
        , Version:=xlPivotTableVersion10)
Импорт/экспорт Dictonary в XML файл
 
Здравствуйте!

Ищу возможность импорт/экспорт Dictonary в  XML  файл  в VBA через  XML DOM (или не требующее прав администратора). При этом Dictonary древовидный, т.е. элементы словаря это в том числе объекты  Dictonary  и  многомерные массивы.
Такое вот скромное желание)))
Могут ли коллеги чтонить подсказать?
Изменено: Столбенко Владислав - 06.04.2018 06:54:01
Вычисление формулы массива в коде VBA
 
Здравствуйте!

Обычные формулы Экселя можно обработать непосредственно в коде VBA через  Application.WorksheetFunction , ну или через просто  Application.
Возможен ли такой фокус с формулами массива   ?
В Listbox Эксель 2013 нет свойства sorted. Почему ?
 
В эксель 2013 не могу найти в Listbox свойство sorted.
Это нормально?
Изменено: Столбенко Владислав - 17.11.2015 12:59:36
Не всегда срабатывает CommandButton_Click
 
Столкнулся с тем что не всегда срабатывает CommandButton_Click кнопки на немодальной форме. Визуально её ход отображается (отжатие и возврат), но обработчик не всегда запускается.  
Я даже прикрутил журнал регистрации срабатывания, по нему следует что это какая-то проблема именно самого  Экселя. Эта ненормальность нормальна? и как с этим бороться?
SQLlite и Excel
 
Копаю в области связки Excel и СУБд и наткнулся на такое:

http://sqliteforexcel.codeplex.com/

Являяется ли это лучшей альтернативой чем связка Excel + Access в плане производительности и надёжности?
Изменено: Столбенко Владислав - 22.05.2013 22:22:49
Нажатие Enter в Textbox
 
Есть Текстбокс на Форме, юзер что-то там набирает жмёт на Ентер, содержимое ТексБокса уходит в обработку и если содержимое не устраивает меня, то фокус возвращается в этот ТекстБокс (на Форме их ещё несколько)
Во первых непонятно почему не срабатывает событие keyPress - оно видит например "Esc", но на клавишу "enter" никак. Использую событие keyDown , но никак не могу вернуть фокус на ТекстБокс.
Господа, собственно говоря что это за фигня такая с этим Ентером?
Пример приложен
Определить какой из TextBox активен ?
 
На немодальной форме несколько ТектсБоксов. как определить без использования событий какой ТекстБокс активен ?
Ругается "can't find project or library" на функцию CHR
 
Подключал баловства ради надстройки "Поиск решения,Пакет анализа и Помошник по интернету" (при этом запускался процесс инсталяции вроде как этих надстроек). Побалвавшись эти надстройки отключил после чего потерялась какая-то библиотека c функцией CHR и в упор не хочет воспринимать неописанные переменные.  
У меня Excel2003
Доступ к скрытым функциям
 
Как скрыть функции от пользователя но при этом иметь возможность вызывать их из любого модуля ? Функции с приставкой Private тоступны только из модуля где они расположены
Проблемы с Range(Cells(1,1),Cells(5,1))
 
Я заменил что определения диапазона записью типа Range(Cells(1,1),Cells(5,1)) работает нестабильно (т.е. временами неработает вообще).Это баг Ёкселя или есть нюансы ?
Как скачатьть файл из интернета с помощью VBA?
 
Как скачать файл с сайта (downloader) без открытия и сохранить его в нужной папке без возникновения меню "открыть/сохранить"  
Нагуглить по форуму и вне по этому вопросу не удалось
Как подсветить заголовки (номера) строк ? (аля отфильтрованные)
 
Как подсветить заголовки-номера строк ? При фильтровании номера отфильтрованных строк подсвечаваются синим цветом,как это сделать не трогая фильтр ? и кстати как вернуть обрадно ?
Как работает хитрый файл-прайс ? (см. вложение)
 
Один поставщик присылает свой прайс в котором очень хитро сделана след. вещь. На первом листе в прайсе вы ставите количество , а на втором листе счёт на эти позиции который гененрируется автоматически,в нём подводится итог который находится под последней строчкой счёта.  
Вопрос в том что я не  могу понять как это реализовано ? Не видно ни каких макросов и формул (хотя сие организовать формулами вроде как не возможно)
Почему при BeforeDoubleClick курсор может перескочить чёрте куда ?
 
При включеном событии BeforeDoubleClick при двойном клике курсор может ускочить очень далеко от того места где нажималось (непример в конец или в начало листа). Это глюк ? как с этим бороться ?
Различность кодировки цвета в формах и ячейках. Как добится соответствия?
 
У ячеек и у форм разная кодировка цвета, как сделать чтоб в форме отображался такой же цвет что и заливка ячейки ?
Какие доли рынка имеют Exel2003,Excel2007, OpenOffice ?
 
Какие доли рынка имеют Exel2003,Excel2007, OpenOffice  ?  
Интересует также субьективные мнения на этот счёт
Как определить видимую часть списка в окне Listbox ?
 
Как определить какие строки списка мы видим в Listbox ?  
Без привязки к курсору, курсор может быть например на первом элементе списка , а пользователь в это время через скроллбегунок или клавиши pgup/pgdn переместился на просмотр 100-125 элементов списка
Как изменить элемент Listbox'a ?
 
Как изменить элемент Listbox'a ?  
Указываю RowSorce="Лист1!а1..а20" (multiselect=fmmultiselectsingle)  
делаю    
 
Private Sub ListBox1_Click()  
range("a10")=2    
end sub  
в листбоксе в соответствующей строке появляется "2",всё номально,всё спокойно.  
Билеберда начинается если делаю следующим способом:  
Private Sub ListBox1_Click()  
if range("a10")=1 then  
  range("a10")=2  
else  
  range("a10")=1  
end if  
End sub  
В этом случае пять раз подряд срабатывает событие Click Листбокса и в итоге значение ячейки возвращается в в исходное состояние.  
У меня ex2003.
Страницы: 1
Наверх