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

Страницы: 1 2 3 4 5 След.
У словаря есть ключ 0, но нету ключа "". при этом при проверке даёт результат, что имеется ключ ""
 
Добрый день.
Почему код:
Код
Sub dd()
Set dic = CreateObject("Scripting.Dictionary")
dic(0) = 99
MsgBox dic.exists(Cells(7, 7).Value)
End Sub
возвращает True при пустой ячейке Cells(7, 7)
???

Ведь, у этого словаря нет ключа, равного "" (ведь значение пустой ячейки равно именно "")
Как объявить массив массивов и словарь словарей в цикле?
 
Добрый день.
Как объявить массив массивов и словарь словарей в цикле?
Из множества значений составить список значений, из которых это множество состоит
 

Добрый день.
У меня не получается макросом сделать сводную информацию типа СЦЕПИТЬЕСЛИ с оставлением только уникальных значений.

Имеется:
Банан  8
Банан  4
Банан  8
Яблоко 10
Яблоко 81
Яблоко 10
Груша 9
Груша 9

Нужно привести к виду:
Банан  8, 4
Яблоко  10, 81
Груша  9

Подскажите пожалуйста как макросом сделать такое.

При вводе в ячейку просто =ДНИ, в меню автозаполнения ЧИСТРАБДНИ не появляется, не работает новая фича, которая появилась в 2019-м офисе.
 
Добрый вечер.
Здесь написано:
Улучшенное автозаполнение
Функция автозаполнения теперь не так требовательна, как раньше. Предположим, вы хотите использовать функцию ЧИСТРАБДНИ, но точно не помните, как она пишется. Если ввести в ячейку просто =ДНИ, в меню автозаполнения отобразятся все функции, в названии которых есть этот фрагмент, в том числе и ЧИСТРАБДНИ. (Раньше для этого нужно было правильно вводить название функции с самого начала)

У меня Win10 Офис 2019.
Но эта фича не работает.
То есть, если ввожу в ячейку просто =ДНИ, в меню автозаполнения ЧИСТРАБДНИ не появляется

Подскажите пожалуйста, как лечить?
Com-надстройка INQUIRE. При нажатии Workseet Relationship нужно, чтобы диаграмма не показывала связи с листами других книг
 
Доброе утро.
Кто-нибудь пользуется Com-надстройкой INQUIRE ?
Раньше при нажатии Workseet Relationship, в сформированной диаграмме показывало только связи между листами активной книги.
А теперь стало показывать ещё и связи с листами других книг.
Например в рисунке лист "xl"  - это лист другой книги. А мне нужно увидеть только связи между листами "1", "2", "3", и "4" которые являются листами активной книги "1.xlsm"

Можно ли сделать так, чтобы не показывало связи с листами других книг?

P.S. Раньше это так и работало как я написал в хотелке.
P.P.S. Com-надстройка Inquire автоматом появляется в списке com-надстроек, после установки Excel / Office (не помню начиная с какой версии)
Изменено: Бахтиёр - 27 Дек 2019 09:24:39
Как удалить удаленные принтеры из ниспадающего списка выбора принтера
 
Добрый день.
Если нажать Файл – Печать, а потом ниспадающий список выбора принтера – видны несколько старых
удалённых принтеров (см.скрин)

Как их удалить из этого списка?

P.S. В “Панель управления – Устройства и притеры” этих принтеров нет, они удалены (см.скрин)
Оффлайн справки по VBA для Office 2019 и по формулам (функциям) для Office 2019
 
Добрый день.
Здесь Владимир (ZVI)  дал ссылку на справку по VBA для Office 2016 в формате CHM.
Дайте, пожалуйста ссылку на такую же справку для Office 2019.

Если у кого-то есть оффлайн-справка по формулам(функциям) Excel 2019 (или хотя бы Excel 2016) скиньте сюда пожалуйста.
Создать при ПКМ книгу excel с поддержкой макросов
 

Windows 10. Offiсe 2019.

Добрый день.
Хотел поменять команду внутри меню ПКМ «Создать-Лист Microsoft Excel» на «Создать-Лист Microsoft Excel с поддержкой макросов», чтобы при ПКМ-Создать создавались не обычные файлы .xlsx а создавались файлы .xlsm

Что-то не так сделал и не получилось добиться желаемого.

А теперь пробую по очереди:
1) в HKEY_CLASSES_ROOT\.xlsx\Excel.Sheet.12\ShellNew создаю строковой параметр "FileName" и присваиваю ему значение "excel12.xlsx" и вложу в папку C:\Program Files\Microsoft Office\root\vfs\Windows\SHELLNEW файл excel12.xlsx
2) в HKEY_CLASSES_ROOT\.xlsm\Excel.SheetMacroEnabled.12\ShellNew создаю строковой параметр "FileName" и присваиваю ему значение "excel12.xlsm" и вложу в папку C:\Program Files\Microsoft Office\root\vfs\Windows\SHELLNEW файл excel12.xlsm

Но все равно, если открыть файл, созданный при помощи ПКМ – выдаёт такого же типа ошибку (см.скрин)

Подскажите что не так?
P.S. Пробовал в папке SHELLNEW изменить названия файлов с excel12 на excel16 и в реестре Sheet...12 на Sheet...16 но не помогло

Изменено: Бахтиёр - 19 Апр 2019 09:41:11
PQ. При загрузке файла .htm вместо текста загружаются непонятные знаки
 
В Power Query загружаю файл .htm но вместо текста загружаются непонятные знаки

Подскажите в чём причина?
Изменено: Бахтиёр - 15 Фев 2019 08:14:04
Чтобы получить обновления для PQ, я должен загружать обновления для Excel 2016, так как PQ встроен в Excel 2016?
 
Добрый вечер.
Win 8.1 Офис 2016

1) Если я загрузил обновление для Excel 2016 от декабря 2018 года (KB4461542), и если до этого последний раз загружал обновление от апреля 2018 года:
Означает ли это то, что я автоматически получил все новые изменения/инструменты/фичи других обновлений, которые выпускались между апрелем и декабрём?

Скрытый текст
(ответ на 2-й вопрос получен)

P.S. Обновления я загружаю вручную, нахожу на сайте последнее обновление и загружаю вручную.
Изменено: Бахтиёр - 14 Дек 2018 15:43:28
sheets(1). после написания точки не выходит список методов
 
Добрый вечер.
В процессе написания кода когда пишу:
Код
sheets(1).
После написания точки не выходит список методов.
Точно так же при:
Код
activesheet.
worksheets(1).

Не помогает и добавление перед ними Workbooks(1).
Изменено: Бахтиёр - 2 Ноя 2018 10:10:23
Передача текста с Excel файла в Word, затем нужно все четвёрки сделать жирными.
 
Добрый день.
Пытаюсь с Excel файла передать текст в Word, затем нужно все четвёрки сделать жирными.
Такой код:
Код
Sub ddww()
Set wd1 = CreateObject("Word.Document")
Set wd2 = wd1.Application
wd2.Selection.typetext "4 рамка 4 спорт 6 шляпа 4 просто 8"
wd2.Selection.WholeStory
    wd2.Selection.Find.ClearFormatting
    wd2.Selection.Find.Replacement.ClearFormatting
    wd2.Selection.Find.Replacement.Font.Bold = True
    With wd2.Selection.Find
        .Text = "4"
        .Replacement.Text = "4"
    End With
    wd2.Selection.Find.Execute Replace:=wdReplaceAll
wd1.SaveAs CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Док1.docx", wdFormatXMLDocument
wd2.Quit
End Sub
только передаёт текст, но не делает четвёрки жирными.

В чём причина?
PQ. Шаг ссылается на другие запросы или этапы и поэтому не может напрямую обращаться к источнику данных. Измените эту комбинацию данных.
 
Доброе утро.
Запрос Power Query даёт ошибку на шаге:
Код
= Table.SelectRows(#"Строки с примененным фильтром", each [Column2] = Excel.CurrentWorkbook(){[Name="Код5"]}[Content]{0}[Column1])
До добавления этой строки запрос работал нормально. А добавил я его для того, чтобы в поименованную ячейку текущей книги (который содержит сам запрос) написать что-то, и чтобы запрос фильтровал нужные строки в соответствии с значением этой ячейки.

В чём ошибка?
Изменено: Бахтиёр - 13 Сен 2018 08:03:07
Power Query. Перенос строк таблицы в столбцы.
 
Добрый день.
Как в PQ добиться хотелки?

Заранее спасибо.
Как программно узнать установлена ли в ячейку проверка данных?, Validation = Данные - Проверка данных
 
Добрый вечер.
Как программно узнать установлена ли в ячейку проверка данных? (Validation = Данные - Проверка данных)
Подскажите код, который открыл бы новый документ Word и вставил туда текст из ячейки A1
 
Добрый день.
Подскажите код, который открыл бы новый документ Word и вставил туда текст из ячейки A1.
Спасибо.
Изменено: Бахтиёр - 12 Июл 2018 13:56:04
При защите листа и при галке «Защищаемая ячейка» в одни ячейки можно заносить данные, а в другие - НЕТ ???
 

Добрый вечер.
Win 8.1  Офис 2016 64-bit

В прилагаемом файле поставлена защита листа (без пароля).
В ячейку С1 нельзя записать данные.
А в ячейки С9, С10 или С11 – можно.

Почему так?
Ведь во всех ячейках стоит галка «Защищаемая ячейка».
?

Как программно вызвать окно перехода с листа на лист?
 
Добрый вечер.
Как программно вызвать окно перехода с листа на лист? (см.скрин)
Не работает защита листа и разрешение изменения диапазонов
 

Добрый день.
В прилагаемой книге я разрешил изменение диапазонов, которые окрашены в желтый цвет.
И защитил лист.

Теперь должно быть так, что в любую ячейку, не окрашенную в желтый цвет, НЕЛЬЗЯ записать данные.

Но нет, в неокрашенные ячейки можно записывать данные. (Например в A25, B26, C27 и т.д)

Почему так?
Неправильное сохранение книги макросом в формате CSV
 

Добрый вечер.
Хочу сохранить книгу эксель в формате CSV.
Такой код:
Код
ActiveWorkbook.SaveAs Filename:="D:\1\123.csv", FileFormat:=xlCSV
портит книгу (см.скрин)

Что я делаю не так?
Изменено: Бахтиёр - 11 Июн 2018 18:34:00
Power Query. Нужно вытащить из названий табличек нужное и поставить в доп.столбце в каждой строке своей таблички., сверху вниз имеется последовательность табличек с названием каждой
 

Добрый день.
Как в PQ получить из таблицы «Что имеем» таблицу «Хотелка» ?

Я в каждой строке «Работа счета…» вытащил из фразы «Работа счета 127577» в дополнительный столбец номер счета (127577), трудности с заполнением пустых ячеек между этими счетами клиентов в доп.столбце.
Окно какого инструмента показывает Application.Dialogs(xlDialogParse).Show ?, Что это за инструмент Excel’я? И в какой вкладке ленты он находится?
 

Добрый день.
Случайно наткнулся.
Application.Dialogs(xlDialogParse).Show показывает окно (см. скрин).

Что это за инструмент Excel’я? И в какой вкладке ленты он находится?

Файл – Печать – Настраиваемые поля. Как добавить в список свои настройки полей?
 

Доброе утро.
Win 8.1. Офис 2016.
Если нажать Файл – Печать – Настраиваемые поля, выйдет список: «Обычные», «Широкие», «Узкие» и «Последнее пользовательское значение».

Как добавить туда пару-тройку своих особых настроек?
Можно конечно сделать на ленту или на ПБД кнопки, и к ним макросы, но интересовал момент можно-ли добавить именно в этот список?

Может через реестр или как-то ещё можно?
Напоминалка VBS
 
Добрый день.
У кого-то есть VBS-скрипт-напоминалка, при запуске которого компьютер должен запомнить записанные в скрипт время и текст, и когда наступает это время ---> текст должен выдаваться сообщением.
Заранее спасибо.
Word: Как удалить среднюю часть таблицы, чтобы писать там текст?
 
Добрый день.
В Word'e идёт текст, затем таблица, затем текст.

Как удалить среднюю часть таблицы, чтобы писать там текст?
То есть нужно удалить среднюю часть таблицы (она превратится в 2 отдельные таблицы), и нужно чтобы посередине освободилось пространство, чтобы писать текст.

P.S.
Если "Вырезать" он просто очищает данные внутри таблицы, но пустая таблица остаётся.
Если удалить ячейки или удалить строки то средняя часть таблицы удаляется но вместо неё поднимается нижняя часть таблицы и таблица не разделяется на 2 части.

А скопировать таблицу, вставить чуть ниже, из обеих таблиц удалить нужные части и между ними писать текст - муторно.
RegExp. Из вытащенной Pattern’ом подстроки нужно вытащить только все цифры.
 

Доброе утро.

Имеется столбец текстовых данных, половина которых заполнена вручную разными людьми.
Внутри текста есть 16-значный номер карты.

Учитывая человеческий фактор, он написан по-разному, в основном так:
6500 1234 5678 9999
6500-0101-0202-0303
6500660167026803
№6500123456789999

Реже встречаются такие, когда пишут каждые 4 цифры через пробел или тире, но где-то не ставят:
6500 11112222 3333
65009797 3545 5161
6500-0101-02020303

Сейчас я вытаскиваю номер карты таким макросом:
Код
Sub karta()
Dim x As Range, y As Range
Set y = Intersect(Selection, ActiveSheet.UsedRange)
d = ActiveSheet.UsedRange.SpecialCells(xlLastCell).Column - y.Column + 1
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "\D6500(\D?\d{4}){3}"
For Each x In y
s = x.Value
Set objMatches = objRegExp.Execute(s)
For i = 0 To objMatches.Count - 1
Set objMatch = objMatches.Item(i)
x.Offset(, d).Value = objMatch.Value & "_"
Next
Next
'y.Offset(, d).Replace "у", ""
'y.Offset(, d).Replace " ", ""
'y.Offset(, d).Replace "-", ""
'y.Offset(, d).Replace "№", ""
End Sub

Можно ли Pattern изменить так, чтобы из кода убрать ручные обработки y.Offset(, d).Replace…
То есть я вроде подобрал нужный Pattern, но теперь из вытащенной этим Pattern’ом подстроки нужно вытащить только цифры.
???
Изменено: Бахтиёр - 6 Мар 2018 10:59:39 (сорри, прикрепил новый файл)
Что такое Range("A1:D4").Columns(4) ? Что должно вернуть его Count?
 
Доброе утро.
Код
Sub ddd()
Dim x As Range
Set x = Range("A1:D4").Columns(4)
MsgBox TypeName(x) & " - " & x.Address & " - " & x.Count
End Sub
Возвращает: Range - $D$1:$D$4 - 1

Почему? Если Range("A1:D4").Columns(4) это Range и если его адрес D1:D4, то его Count должен быть равно 4.
Ведь Msgbox Range("D1:D4").Count вернёт 4.
?
Изменено: Бахтиёр - 5 Мар 2018 09:48:00
Даты, вытащенные из текста с помощью RegExp - не полноценные даты.
 
Добрый день.
Таким кодом я извлекаю из кода дату:
Код
Sub dv()
Dim xxx As Range, yyy As Range
Set yyy = Selection
Set objRegExp = CreateObject("VBScript.RegExp")
objRegExp.Pattern = "\d{2}\.\d{2}\.\d{4}"
objRegExp.Global = True
For Each xxx In yyy
Str2 = xxx.Value
Set objMatches = objRegExp.Execute(Str2)
For i = 0 To objMatches.Count - 1
    Set objMatch = objMatches.Item(i)
    xxx.Offset(, 10 + i).Value = objMatch.Value
Next
Next
yyy.Offset(, 10).NumberFormat = "dd/mm/yyyy"
yyy.Offset(, 10).Value = yyy.Offset(, 10).Value
End Sub

Последние 2 строки добавил, чтобы даты были полноценными датами, а то они стоят как текст.
Но эти 2 строки не работают.
Не помогает и
Код
yyy.Offset(, 10).Replace ".", "."

Что в коде написать, чтобы даты стали полноценными датами?
Изменено: Бахтиёр - 1 Мар 2018 13:27:04
Переопределение UsedRange после удаления ячейки, Что ещё переопределяет UsedRange кроме обращения к нему самому или сохранения книги
 

Добрый день.
Попробуйте:
1) Создайте в книге новый пустой лист
2) Напишите в ячейки С3 и D4 любые значения
3) Удалите содержимое ячейки D4 любым из способов:
   а) Нажатием клавиши Del
   б) Удалением строки 4 или удалением столбца D
   в) Нажатием на ячейке D4 Главная --> Очистить --> Очистить все
4) Нажмите Ctrl+End, что равносильно выбору на окне «Перейти к» команды «Выделить группу ячеек» --> «Последнюю ячейку»
Выделится ячейка D4, хотя должна выделится ячейка С3.

То есть xl считает последней ячейкой D4, хотя таковой на самом деле является С3.
Та же история с макросом.

Скрытый текст


    Исправить можно, если до 4-шага:
А) Сохранить книгу
Б) Набрать в окне Immediate ActiveSheet.UsedRange и нажать Enter
В) Если это макрос, то обратиться к UsedRange (например s=ActiveSheet.UsedRange.Address)

Получается, если удалить значение какой-то ячейки, UsedRange переопределяется только после того, как книга сохраняется или обращаются к нему самому(UsedRange).

Вопрос: есть ли ещё какие-то действия, после которых переопределялся бы UsedRange?

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

Изменено: Бахтиёр - 23 Фев 2018 14:17:38
В приёмах появилась полезная статья Николая "Анализ текста регулярными выражениями (RegExp) в Excel", про разбор буквенно-цифровой "каши" на составляющие и извлечение из нее нужных фрагментов.
 
В приёмах появилась полезная статья Николая "Анализ текста регулярными выражениями (RegExp) в Excel" про разбор буквенно-цифровой "каши" на составляющие и извлечение из нее нужных фрагментов.
Изменено: Бахтиёр - 19 Фев 2018 19:13:11
Страницы: 1 2 3 4 5 След.
Наверх