Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 28 След.
Получить в коде VBA Username того, кто сидит в ReadOnly.
 
Цитата
sokol92 написал:
В первом байте будет длина имени конкурента, далее - само имя.
Завтра поэкспериментирую на работе. А как читать информацию из "первого байта"? какой командой?
Работать надо не 12 часов, а головой.
Получить в коде VBA Username того, кто сидит в ReadOnly.
 
да, только это и умею.
Работать надо не 12 часов, а головой.
PowerPivot, PowerQuery, PowerBI
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
надолго ли?
@bk.ru уже не работает а @ro.ru позволило
Работать надо не 12 часов, а головой.
Получить в коде VBA Username того, кто сидит в ReadOnly.
 
Спасибо большое за разъяснения и ссылки.
Да, смотрела через Set прежде чем писать на форум, но надеялась что я проглядела = что такое существует, но я не нашла.
Файлом пользуется много человек и таких файлов не один по разным регионам. В общем макросы в данном случае это не решение, т.к. чаще всего по умолчанию у других они отключены.

Можно ли пойти следующим путем: если файл открылся в режиме ReadOnly, то я его закрою макросом же и открою заново в конце обработки, но чтобы он выдавал сообщение.
У меня при обработке макросами сообщение не выдает (тихо открывает в readonly, если недоступен режим чтения и переходит к обработке следующего файла. Причем в коде строчки Application.DisplayAlerts=False нету.

Что бы это уведомление выскакивало надо что-то в Open прописать? IgnoreReadOnlyRecommended = False ?

Цитата
Workbooks.Open (FileName , UpdateLinks , ReadOnly , Format , Password , WriteResPassword , IgnoreReadOnlyRecommended , Origin , Delimiter , Editable , Notify , Converter , AddToMru , Local , CorruptLoad)
https://msdn.microsoft.com/en-us/vba/excel-vba/articles/workbooks-open-method-excel
Изменено: Leanna - 22 Июл 2018 15:51:14
Работать надо не 12 часов, а головой.
Получить в коде VBA Username того, кто сидит в ReadOnly.
 
Когда я открываю файл экселя на общем диске и кто-то в нем сидит,  мне пишет имя пользователя, того,  кто сидит.
Можно как то в переменную получить это имя пользователя в код VBA?

(WriteReservedBy пишет мое имя пользователя,  не смотря на то что файл открыт другим сотрудником и у меня документ открыт в режиме чтения.)
Работать надо не 12 часов, а головой.
Как заполнить ListBox массивом 5*4?
 
Добрый день!

Имеется массив arr (1 to 5, 1 to 4). Есть Listbox из ActiveX
Как заполнить ListBox этим массивом? Важно! Без участия ячеек = не беря заполнение из диапазона на листе.
(В тесте диапазон берется из ячеек [A8:D12], в фактическом использовании – создается массив и он заполняется виртуально)

Мои попытки с .List успехом не увенчаплись, не работает.
Неужели только циклом в каждую ячеечку, прописывать в ListBox?
(Мне не обязательно, будет это ListBox из ActiveX или из элементов управления.)

Скрытый текст
Работать надо не 12 часов, а головой.
Вставка в книгу данных из другой с возможностью обновления по запросу., Как вставить данные в книгу из выгрузки-xlsx и обновлять через контекстное меню обновить (без копи-пейста).
 
У меня не сразу,  но получилось таки сделать импорт. Спасибо за руководство!
Если смотреть ваши выгрузки import. xlsx и copy of import. xlsx
То ms query неверно обрабатывает данные со временем создания, первый и шестой столбик. Я не нашла в редакторе,  как задать формат. Это возможно?

MS Query не вырезан на работе,  а PQ нет,  потому что его надо доустанавливать, он не входит штатно в excel 2013, что бы согласовать установку надо десять кругов ада пойти и не факт.
Работать надо не 12 часов, а головой.
Вставка в книгу данных из другой с возможностью обновления по запросу., Как вставить данные в книгу из выгрузки-xlsx и обновлять через контекстное меню обновить (без копи-пейста).
 
Поискала по форуму экспорт/импорт 1с не увидела для себя подходящего.

Хорошо.  А если бы у меня не было Power Pivot. И нет PQ.
На вкладке Данные не придумано как вставить данные из другой книги excel?

(уж очень не хочется делать это через формулу = ячейка выгрузки+протягивание на весь возможный диапазон.)
Работать надо не 12 часов, а головой.
Вставка в книгу данных из другой с возможностью обновления по запросу., Как вставить данные в книгу из выгрузки-xlsx и обновлять через контекстное меню обновить (без копи-пейста).
 
Пробовала,  не получается.
Если файл открыт, то в следующем шаге «проверить соединение» пишет,  что «проверка соединения завершена успешно», жмешь  Далее он пишет «выбранный файл используется.  Закройте файл перед импортом.» закрываю файл,  пишет: «не удалось подключиться к серверу.  Причина: внешняя таблица не имеет предполагаемый формат»
Привет выгрузки прикрепила.
Изменено: Leanna - 6 Июн 2018 12:16:18
Работать надо не 12 часов, а головой.
Вставка в книгу данных из другой с возможностью обновления по запросу., Как вставить данные в книгу из выгрузки-xlsx и обновлять через контекстное меню обновить (без копи-пейста).
 
Access в работе не использую вообще.  
А так,  проще уж тогда выгрузку пересохранить как txt  с табами и подлючить для обновления (на вкладке Данные)
Но!  Хотелось бы знать как экселевскую книгу подключить.  Это полезно не только именно для этой задачки,  но и для будущих.
Работать надо не 12 часов, а головой.
Вставка в книгу данных из другой с возможностью обновления по запросу., Как вставить данные в книгу из выгрузки-xlsx и обновлять через контекстное меню обновить (без копи-пейста).
 
Именно АйТи!
На прошлой работе много пользовалась Power Query.
А сейчас никак.
Ищу возможности через подключение данных или может что-то есть в PowerPivot?
Работать надо не 12 часов, а головой.
Вставка в книгу данных из другой с возможностью обновления по запросу., Как вставить данные в книгу из выгрузки-xlsx и обновлять через контекстное меню обновить (без копи-пейста).
 
Добрый день!

Делаю выгрузку из САП и сохраняю в файл xlsx на диске.
В текущем процессе – я открываю второй файл, копи-пэйст выгрузку в этот второй файл, протягиваю формулы, обновляю сводные – мой отчет готов, рассылаю.

Хотелось бы так:

Я сохранила выгрузку.
Открываю второй файл, нажимаю на листе “обновить” – на листе появляются данные из только что сохраненной выгрузки.
Далее надеюсь освоить PowerPivot построенный на основании этой обновленной выгрузки, и получать отчет без промежуточных звеньев и протягиваний формул.

На работе стоит Excel 2013 Professional Plus. PowerPivot есть, Power Query нет! и пока не будет.

Как я могу подлючить этот файл-выгрузку если он в xlsx?

У меня в группе «Данные» 1100 вариантов: Access, интернет, текст, БД. А Excel-книгу как?
Работать надо не 12 часов, а головой.
Работа с адресами с помощью регулярных выражений.
 
Спасибо большое всем откликнувшимся!

Получилось далеко продвинуться по прототипу да аналогии сделала целую программку основанную на RegExp, которая очень помогает в работе.

По ходу возникали вопросы, но их надо систематизировать и уже разбираться с ними в новой теме.
Работать надо не 12 часов, а головой.
Работа с адресами с помощью регулярных выражений.
 
Добрый день!

Возможно ли с помощью регулярных выражений:

1) Все отдельностоящие слова полностью из заглавных букв сделать в формате Первая Буква Заглавная (Proper).
Например: «НОВЫЙ СВЕТ СоЛнЦе Луч9 20 САДОВОДСТВО дорога» превратить в: «Новый Свет СоЛнЦе Луч9 20 Садоводство дорога» ?

2) Вытащить улицу и номер дома часто можно с помощью следующего правила:
смотрим первую попадающуюся цифру в строке и берем то слово перед ней, которое попадается первым написанным с большой буквы.
Пример: «Санкт-Петербург, Обводный канал 45/1 строение 25Б Литер М» вытащит строку «Обводный 45»., потому что 45 - первая цифра в строке. Обводный - первое написанное с заглавной буквы перед 45.

3) Есть улицы-исключения в их название входит цифра (пример: 8 линия В.О. д.10)
У меня имеется список исключеений. Как для них сделать чтобы они вытащили ближайшее впереди и ближайший сзади номер?
Например "Санкт-Петербург г. 8-я Красноармейская ул. 27 кв.40" -> "8 Красноармейская 27"
(?:Кадетская|линия|Советская|Рабфаковский|Предпортовый|Января|Красноармейская|Утиная|Мая|Комсомольская|Муринский|Лахта|Верхний|_)
Пыталась сделать сама. Но именно эти задачки у меня не получились.
Подскажите, пожалуйста, как они решаются?


Код
Function street_extract_test()

'если слово в строке полностью из заглавных букв превратить его в "Первая Заглавная"
txt = "НОВЫЙ СВЕТ СоЛнЦе Луч9 20 САДОВОДСТВО дорога"
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "([А-ЯЁ]+{2,})"
regex.Global = True
'txt1 = regex.Replace(txt, Application.WorksheetFunction.Proper("$1"))

'Первая цифра в строке + первое перед этой цифрой слово с Заглавной буквы
txt = "2Санкт-Петербург, Обводный канал 45/1 строение 25Б Литер М"
regex.Global = False
regex.Pattern = "([\s|^]+)([А-Я]+)([А-Яа-я0-9A-Za-z\s]+)(\d+)(\s|$)?"
If regex.test(txt) Then
Set matches = regex.Execute(txt)
txt3 = matches.Item(0)
End If
End Function

Работать надо не 12 часов, а головой.
Замена отдельных слов с регулярными выражениями, "{\b(ИП|ООО|ЗАО|Торговая Компания)\b}"
 
Для чего тут стоит нижнее подчеркивание?
(?:ИП|ОАО|ЗАО|АО|ООО|фирма|ЧП|ТД|_)
Работать надо не 12 часов, а головой.
Как сделать проверку на число через регулярные выражения? Вылетает процедура., что не так с этим? - "(^+\d{1,}\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)"
 
C $ ошибку поняла.

"(^+\d{1,}\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)" – надо + убрать совсем?
Т.е. "(^\d{1,}\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)"
Или надо поставить скобочку квадратную либо круглую?
"(^[+\d{1,}]\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)" либо "(^(+\d{1,})\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)"
Правильно я понимаю, что убирание плюса ИЛИ заключение в квадратные скобки[+\d{1,}] ИЛИ круглые скобки (+\d{1,}) - дадут один и тот же эффект в данном случае?

Igor у вас пример замечательный и познавательный.

Просто мне хотелось бы ещё разобрать – что у меня не так, из того, что наваялось с моего уровня познаний.

Во второй части убрала + т.е. "(^[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|$)" заработало..

Текущий код:
Код
regex.Pattern = "(^\d{1,}\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|$)"
If regex.Test(txt) Then
Set matches = regex.Execute(txt)
txt = Trim(matches.Item(0))
txt = Replace(txt, " ", "_")
Else
regex.Pattern = "(^[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|$)"
If regex.Test(txt) Then
Set matches = regex.Execute(txt)
txt = Trim(matches.Item(0))
Else
txt = "-"
End If
End If
Изменено: Leanna - 15 Май 2018 12:12:02
Работать надо не 12 часов, а головой.
Как сделать проверку на число через регулярные выражения? Вылетает процедура., что не так с этим? - "(^+\d{1,}\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)"
 
Спасибо.
А почему мой код вылетает=не работает?
Я что-то неправильно написала?  Делала как в учебнике.
Работать надо не 12 часов, а головой.
Замена отдельных слов с регулярными выражениями, "{\b(ИП|ООО|ЗАО|Торговая Компания)\b}"
 
Цитата
(?:pattern) Часть выражения, соответствующая слову pattern, но не сохраняющая данной совпадение для использования в дальнейшем. Это удобно использовать для объединения частей шаблона со знаком "или" (|). Например, выражение "industr(?:y|ies)" является более экономичным, чем выражение "industry|industries".

(?=pattern) Часть выражения, выполняющая поиск с положительным просмотром вперед, который соответствует искомой строке в любой точке, где начинается строка, совпадающая с шаблоном pattern. Это сравнение выполняется без сохранения совпадения для возможного использования в дальнейшем. Например, шаблон "Windows (?=95|98|NT|2000)" соответствует слову "Windows" в последовательности "Windows 2000", но не слову "Windows" в последовательности "Windows 3.1". При поиске вперед знаки не обрабатываются, то есть после нахождения совпадения сразу же начинается поиск следующего совпадения, если только оно не включает знаки, входящие в положительный просмотр вперед.

Вы просто знаете для чего это, поэтому, может, вам эти объяснения понятны.
Я не понимаю этого описания.
(?:ИП|ОАО|ЗАО|АО|ООО|фирма|ЧП|ТД|_)  - всегда когда используешь ИЛИ надо ставить ?:
(?=[\.,;:\s]|$) - тут из описания выше вообще не понимаю какую функцию выпаолняет.

Можно ли человеческим языком объяснить на данном примере работу ?: и ?=
Про нижнее подчеркивание ничего не нашла. Для чего оно перед скобкой в конце.
Изменено: Leanna - 16 Май 2018 21:33:01
Работать надо не 12 часов, а головой.
Как сделать проверку на число через регулярные выражения? Вылетает процедура., что не так с этим? - "(^+\d{1,}\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)"
 
Добрый день!

Мне сказали отдельно вынести вопрос по регулярным выражениям отсюда (104564-zamena-otdelnykh-slov-s-regulyarnymi-vyrazheniyami)

Я пыталась сделать такое: если первая отдельностоящая группа это цифры (без вкрапления букв) и есть второе слово за пробелом, то соединить их нижним подчеркиванием.
Например "ООО 7 континент мира" -> "7_континент", или "ЗАО 29 спуск" -> "29_спуск", но! "7Б Куликово ЧП" - это "7Б", но! "777 фирма" -> "777"
Вы могли бы помочь? Как проверить, что первая группа до пробела это только числа?

Я представляла бы себе паттерн для задачки с цифрами таким:
"(^+\d{1,}\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)" - но в примере ниже он не работает.

Вот этот блок у меня вылетает:
Код
If regex.Test(txt) Then
    Set matches = regex.Execute(txt)
    txt = matches.Item(0)
    txt = Replace(txt, " ", "_")
Else
    regex.Pattern = "(^+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)"
    If regex.Test(txt) Then
        Set matches = regex.Execute(txt)
        txt = matches.Item(0)
    Else
        txt = "-"
    End If
End If


Смысл кода выше - если первое слово - все_знаки_цифры - то обрабатывем, как я описала выше. Если это буквы, то берем _только_ первое слово. Если букв-цифр не имеется - т.е. пусто или пробелы, то ставим "-".
Работать надо не 12 часов, а головой.
Замена отдельных слов с регулярными выражениями, "{\b(ИП|ООО|ЗАО|Торговая Компания)\b}"
 
Все-таки не поняла, что такое из #2 делают? ?= ?: _

(?:ИП|ОАО|ЗАО|АО|ООО|фирма|ЧП|ТД|_)
(?=[\.,;:\s]|$)

Отдельно вопрос про другую часть регулярных выражений, хорошо, вынесу.
Изменено: Leanna - 14 Май 2018 23:40:17
Работать надо не 12 часов, а головой.
Замена отдельных слов с регулярными выражениями, "{\b(ИП|ООО|ЗАО|Торговая Компания)\b}"
 

Спасибо большое за пояснения про \b и за пример.

([\.,;:\s]|^) - это вроде понятно: определяет какой-либо из символов - точку/запятую/точку с запятой/двоеточие/побел и подобное ИЛИ начало строки
(?:ИП|ОАО|ЗАО|АО|ООО|фирма|ЧП|ТД|_) - не могу расшифровать "?:"и "_". Что они означают?
(?=[\.,;:\s]|$) - не могу расшифровать в выражении "?=" (знаю только, что ? - это ноль или одно вхождение, а для чего "=" не знаю)

От "[^А-Яа-яёЁ0-9A-Za-z\-]", думаю не стоит отказываться, потому что кроме [\.,;:\s]|^) могут встречаться и кавычки всех сортов и нижние подчеркивания и всё подряд.
После Replace "[^А-Яа-яёЁ0-9A-Za-z\-]" на "пробел", как я понимаю, должно идти вот такое: "(\s|^)(?:ИП|ОАО|ЗАО|АО|ООО|фирма|ЧП|ТД|_)(\s|$)"
Верно?
По прежнему не понимаю для чего "?:" и "_"

Я ещё пыталась сделать такое: если первая отдельностоящая группа это цифры (без вкрапления букв) и есть второе слово за пробелом, то соединить их нижним подчеркиванием.
Например "ООО 7 континент мира" -> "7_континент", или "ЗАО 29 спуск" -> "29_спуск", но! "7Б Куликово ЧП" - это "7Б", но! "777 фирма" -> "777"
Вы могли бы помочь? Как проверить, что первая группа до пробела это только числа?

Я представляла бы себе паттерн для задачки с цифрами таким:
"(^+\d{1,}\s+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)" - но в примере не работает.

Вот этот блок у меня вылетает:
Код
If regex.Test(txt) Then
    Set matches = regex.Execute(txt)
    txt = matches.Item(0)
    txt = Replace(txt, " ", "_")
Else
    regex.Pattern = "(^+[А-Яа-яёЁ0-9A-Za-z\-]{1,})(\s|^)"
    If regex.Test(txt) Then
        Set matches = regex.Execute(txt)
        txt = matches.Item(0)
    Else
        txt = "-"
    End If
End If


Смысл кода выше - если первое слово - все_знаки_цифры - то обрабатывем, как я описала выше. Если это буквы, то берем _только_ первое слово. Если букв-цифр не имеется - т.е. пусто или пробелы, то ставим "-".

С файлом-примером исправилась. Этот более человечный. Просто я не думала что первый файл-пример не пригодится, т.к. сократила свой изначальный вопрос и думала, что на него можно ответить без моего примера.

Изменено: Leanna - 14 Май 2018 19:30:14
Работать надо не 12 часов, а головой.
Замена отдельных слов с регулярными выражениями, "{\b(ИП|ООО|ЗАО|Торговая Компания)\b}"
 
Подскажите, как правильно написать паттерн в регулярных выражениях,  чтобы заменить отдельностоящие слова или выражния.
Например:
Заменить на "пробел" если попадается что-н из этого: ИП, ООО, ЗАО, Торговая Компания.
Я думала что это должно выглядеть примерно так:
"{\b(ИП|ООО|ЗАО|Торговая Компания)\b}"
Поправьте как правильно?  
Работать надо не 12 часов, а головой.
Как вставить символ "замок" кодом VBA в ячейку., Каким кодом VBA я могу вставить эти символы?
 
Вау! Hugo, спасибо! Это именно оно!)))
Я и понятия не имела о том что бывают такие матрешки!
Работать надо не 12 часов, а головой.
Как вставить символ "замок" кодом VBA в ячейку., Каким кодом VBA я могу вставить эти символы?
 
Откуда я должна была это знать, если с этим шрифтом не сталкивалась? Научите?
#2 пишет "ноль" по сути. Я что, из космоса должна брать информацию? Возник вопрос - я спрашиваю. А его выпад мне не ясен. Предварительно я гуглила.

Ваш вариант с изменением шрифта работает, спасибо.  Что такое e1f6 и e1f7? Из вашего первого сообщения?


Но все-таки - что это за значки в [A2] и [A3]? Это не то же самое, что и ChrW(57846).  В них, что удобно, не требуется устанавливать специальный шрифт.
Их только копированием можно использовать? Через код никак не вставить?
Работать надо не 12 часов, а головой.
Как вставить символ "замок" кодом VBA в ячейку., Каким кодом VBA я могу вставить эти символы?
 
Как все-таки вставить такой замок в ячейку?
Ведь копированием, же вставляет?
Работать надо не 12 часов, а головой.
Как вставить символ "замок" кодом VBA в ячейку., Каким кодом VBA я могу вставить эти символы?
 
Добрый день!

У меня не получается(
результат на картинке (или в файле-примере).

В ячейку вставляется знак вопроса, вместо замка. [A7] = ChrW(57846)

Возможно, вы скажете, что нужен шрифт правильный, но
1) если я копирую значок из ячейки, и вставляю, то никакой шрифт менять не требуется.
2) если я поменяю шрифт, то ChrW(57846) & " замок" - слово замок, наверное, исказится, т.к. буквы превратятся в значки (я так думаю)
3) на всякий полезно было бы знать - какой все-таки шрифт?
4) если все-таки ChrW - то, почему AscW на эти значки выдает -10179

e1f6, e1f7 - в связке с ключевым словом VBA нагуглить ничего не удалось. [A9] = ChrW("e1f6") - выдает ошибку.


 
Изменено: Leanna - 6 Май 2018 10:44:28
Работать надо не 12 часов, а головой.
Как вставить символ "замок" кодом VBA в ячейку., Каким кодом VBA я могу вставить эти символы?
 
Добрый день!

В книге-примере в ячейке А1 и А2 в ячейках вставлены символы - замок закрытый и замок открытый.
Пытаюсь расшифровать - какой код у символа командами Asc, AscB, AscW - они не определяют.
Получается что командами Chr, ChrB, ChrW - я вставить эти замки не могу. Других команд не знаю.

Каким кодом VBA я могу вставить эти символы  
Работать надо не 12 часов, а головой.
Сводная при обновлении не подтягивает данные из таблицы-источника.
 
Мне кажется это тоже как то с кешем связано. Как его обновить не перестраивая отчет заново мне непонятно, перекидывание полей не обновляет.
Excel 2013 у меня.
Хотелось бы пока без использования умной таблицы знать как справиться. Но как идея и вариант, это очень интересно, я возьму на заметку!
Расширения дополнительные не используются.

Ладно.. буду ждать пока пример создастся.. просто возникает в самый критический момент, и времени нет на то что бы создавать из этого файла мини-пример (не факт что вообще получится) и идти на форум искать ответ на вопрос. На это нужно время а когда это клюёт совпадает так что его нет)
Работать надо не 12 часов, а головой.
Сводная при обновлении не подтягивает данные из таблицы-источника.
 
Здравствуйте, не получилось у меня создать примера! Но если не получу ответ то попробую дождаться такого косяка и выложу уже с примером. Просто может это уже известная проблема?

Есть таблица-источник с данными, на ней построена сводная (включённый диапазон - вся колонка). Данные постепенно добавляются вниз в таблицу - и бывают такие случаи что обновляю сводную, а вновь добавленные данные не появились. Решение - заново перестраиваю сводную и данные появляются.

Есть ли альтернативный вариант решения проблемы?
Буду благодарна за любую помощь и направление в решении этого вопроса! Спасибо!
Работать надо не 12 часов, а головой.
Использование словарей как альтернативу Vlookup
 
вложение Dictionary_Coll.xls по ссылке посмотрите Dictionary - это совсем не сложно! очень полезная шпаргалка по словарю
Работать надо не 12 часов, а головой.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 28 След.
Наверх