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

Страницы: 1
Как указать методу CountA определенный лист?
 
Всем привет, подскажите пожалуйста, как указать для CountA конкретный лист (в примере это Лист 5), что бы операция выполнялась без перехода на него?
Код
Sub AInsert1()
Dim c As Long
Dim lRow As Long
c = 1
lRow = Application.WorksheetFunction.CountA(Columns(c))
  Worksheets("Лист5").Range(Cells(3, 1), Cells(3, 48)).Copy
  Worksheets("Лист5").Range(Cells(lRow + 1, 1), Cells(lRow + 1, 48)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Почему СЧЕТЕСЛИ считает не существующие дубли?
 
Всем привет, не любит меня эта функция (((
В общем в Столбике А значения собранные функцией СЦЕП, надо проверить на дубли, почему функция СЧЕТЕСЛИ иногда считает одинаковыми разные значения?  
Изменено: CD_Zenit - 09.09.2024 20:35:31
Функция СЧЕТЕСЛИ выдает ноль вместо единицы, Функция проставлена в двух соседних столбиках, а одном работает, а другом выдает нули...
 
Всем привет, народ помогите, уже с полчаса пытаюсь понять почему функция живет собственной жизнью (((.
Запрос самый простой, формат - общий, почему она не хочет считать? Изначально ссылка на диапазон в котором ищем ведет на Лист2 (B:B), потом скопировал его уже на текущий Лист3 (F:F), не считает ни так ни так, когда критерий входит в сам диапазон (формула в столбце D) все работает, а рядом в Е... никак  :cry:  
Как на VBA открывая файл (формата mht) запретить Exel переделывать числа в даты?
 
Блин, уже и системный разделитель на точку поменял, хоть и не совсем удобно, кое где помогло и все равно этот... УМНЫЙ (ну нет у меня уже цензурных слов) Exel, сперва при открытии меняет мне "5-6 лет" на "05.июнь лет", а потом при копировании, еще и переделывает это в "45082 лет", кто знает как победить сию напасть?
Файл который открываю, в формате mht (веб-страница одним файлом) не разрешает сюда прицепить...  
Регулярное выражение для поиска всех форм записи возраста
 
Всем привет, есть текст с указанием возраста, этот возраст может быть указан как десятичной дробью например 9,5 (9.5) лет или просто 9.5 так и в формате XX лет YY месяцев, а надо его представить десятичной дробью, страшную регулярку которая вытаскивает все формы записей я вроде бы составил (в файле), разбить не года и месяцы тоже не проблема, проблема начинается, когда возраст меньше года ((( на место лет встают месяцы и все мои построения улетают в трубу... может кто-то уже мучался с таким вопросом?
Как привязать элемент управления к формуле, а не к значению ячейки?
 
Добрый день, подскажите пожалуйста, как сослаться на формулу в ячейке, а не на ее результат, ну вот то есть, у меня две ячейки в формулами и переключатель меняющий еще одну ячейку с единицы на двойку, и вот как в рабочей ячейке можно менять формулу с одной на другую, в зависимости от положения переключателя?  
Изменено: CD_Zenit - 10.04.2023 12:19:20
Как вернуть параметры вставки по умолчанию???, Почему-то при копировании ячеек они стали вставляться напрочь склеенные в строку ((
 
Народ, у меня паника, блин, где я успел что-то сделать не так? Открываю файл, копирую из него данные, закрываю его не сохраняя, вставляю данные на другой лист и блин в каждой строке слипаются в одну... если запускать мастер импорта, он вместо деления по табуляциям показывает разделитель пробел и другое... как вернуть в режим с табуляцией?
Как на VBA отвязать открытую книгу, от сохраненного из нее текстового файла?
 
Всем привет, вопрос наверное тривиальный, но поиск приводит к сотням сообщений о работе с файлами по сети (((
У меня все локально, из Exsel сохранил текст, пробую открыть его в Ворд, тот естественно ругается и говорит, что файл занят. Можно ли как то при сохранении, средствами VBA разорвать связь книги и этого файла?  
Макрос для перебора подпапок для Word...?, Подскажите аналогичный ЖИВОЙ ресурс по Word, ну или может кто по сути подскажет решение...
 
Всем привет, понимаю, что вопрос не профильный, но... тут курилка все же, пару вопросов по ворду видел. Суть вопроса, собрал себе кракозябру - перебирает все файлы в папке (в данном случае pdf файлы), открывая их, чего-то делая с ними и сохраняя, так вот, может кто подскажет вариант перебирающий не только указанную папку, но и все подпапки, ну как пример есть главная папке, там папки по годам и далее по месяцам и вот это все перебрать надо...

P.s. Еще вопрос, почему при открытии документа в скрытом режиме, что бы не моргал экраном (отключение обновления экрана - не помогает), он перестает выполнять вложенный макрос?  
Прошу прокомментировать код вызова внешней процедуры., Помогите пожалуйста разобраться в работе макроса
 
Добрый день, понимаю что вопрос из ряда вон, но все же - сколько ни пробовал читать руководства по VBA, но логика принципов от моего понимания ускользает напроч, кому не сложно - поясните пожалуйста по шагам, что именно обозначает каждая строка макроса, благо он не велик, макрос такой:
Код
Sub Синхро()
' Синхронизация

   Dim i As Long
   If IsNumeric([C16].Value) Then
       For i = 1 To [C16].Value
           Application.Run "Добавить"
       Next i
   End If
End Sub
По факту, задача макроса - уровнять значения в ячейках [С15] (получено как подсчет значений столбика A) и [D15] (подсчет значений столбика B), фигурирующая в макросе [C16], это разность между C15 и D15, макрос "Добавить" - добавляет значение (единицу) в столбик B, то есть по сути он должен запускаться пока значения не сравняются, ну или пока [C16], не будет равно нулю. Пожалуйста поясните ГДЕ именно в макросе "Синхро" команда определяющая это условие или к чему привязана эта в упор не понятная мне i, то ли проверяет она [C16], то ли сама ею является...  :cry:  
Откуда взялся излишек?
 
Добрый день

пытаюсь построить формулу корректно конвертирующую географические координаты из формата градусы с десятичными долями в формат градусы/минуты/секунды с десятичными долями, когда использую формулу [=I23-ОТБР(I23)] дробная часть числа отображается корректно, а когда добавляю туда значок градуса [=(I23-ОТБР(I23))&"°"] результат получается вот такой 0,566836000000002°

вот у меня и вопрос - откуда взялись это 2 хз каких...???
Как отвязать UBitMenu от Exel 2003?
 
Добрый день, товарищи

может сталкивался кто, установил новый офис с надстройкой UBitMenu, пользуюсь им не часто, но обходиться без этой панельки грустно, однако при открытии нормального Exel эта программа тоже пытается активироваться и выдает страницу абракадабры, видеть ее при каждом запуске не особо хочется, что нужно изменить, что бы она запускалась только при работе нового Exel?  
Как добавить команду остановки макроса по условию?
 
Добры день, есть макрос для синхронизации одного значения с другим, первое значение - задано, это число уникальных значений в списке (С1), второе (D1) - число значений в столбике (A:A) и есть макрос добавляющий значения в список A:A если второе значение меньше первого, еще один макрос очищает список A:A если второе значение случайно оказалось больше первого (хоть это скорее гипотетическая ситуация), но вот как остановить макрос когда значения сравнялись?  
Изменено: CD_Zenit - 10.11.2019 14:09:44
Добавить в тело макроса проверку условия и его выполнение,
 
Есть две именованных ячейки "A" (С1) и "B" (D1), в каждой формула с результатом, как перевести на VBA такой алгоритм:

Sub Базовый()
1. ....
2. Алгоритм
2.1 Сравнит значения "A" и "B"
2.2 Если "A" = "B" - завершить Алгоритм и перейти к следующему шагу макроса Базовый
2.3 Если "A" < "B" то выполнить Макрос1 ["B" - "A"] раз и перейти к шагу 2.1
2.4 Если "A" > "B" то выполнить Макрос2 ["A" - "B"] раз и перейти к шагу 2.1
3. ...
Sub
Изменено: CD_Zenit - 02.09.2019 10:58:30
Транспонировать захват данных формулой при ее протягивании вдоль строки
 
Добрый день, подскажите пожалуйста как изменить формулу, в ячейках столбика F (зеленые) формула подставляет шифры соответственно значениям из столбика B, тут все хорошо, а вот в строке 61 от G61 и далее вправо она должна подставлять шифры согласно значениям из столбика с, но при протягивании делает захват естественно вправо а не вниз, как сменить это направление и еще задать интервал через 1 строку, то есть при смещении формулы в соседнюю ячейку на плюс или минус 1 столбец вдоль строки, данные захватываются на плюс или минус 2 строки от исходной ячейки указанной для захвата?

Пример почему то больше 100 кб, загрузил на Яндекс Диск.  
Изменено: CD_Zenit - 28.08.2019 18:50:48
Макрос запускающий два других по результатам сравнения ячеек
 
Добрый день, подскажите пожалуйста как можно прописать в макрос сравнение двух ячеек - проверяемой и контрольной, то есть после запуска макрос должен сравнить проверяемую с контрольной если она меньше - запустить макрос "Добавить" после чего опять сравнить, если больше то макрос "Убрать", если равно - прекратить работу, ну или как вариант - высчитать разницу и запустить нужный макрос столько раз сколько надо для уравнивания. Спасибо заранее.    
Как исключить из подсчета ячейки скрытые функцией ЕСЛИОШИБКА?
 
Добрый день, подозреваю, что вопрос поднимался много раз, но видимо как то криво ищу, постоянно попадаю на использование самой функции ЕСЛИОШИБКА и аналогов, в таблице из текстовой строки при помощи функции извлекаются все авторы, если они закончились формула заменяет #Н/Д! на "" и ячейка выглядит пустой, но как заставить эксель игнорировать ее при подсчете количества авторов?
 
Разнести текст по ячейкам
 
Добрый день, есть текст (библиография публикации) вида:
Фамилия_1 И.О., Фамилия_2 И.О., Фамилия_3 И.О. Название статьи // Название журнала. 2000. № 4. С. 281–286.

Нужно извлечь из него и расставить по ячейкам:
1. Отдельно каждого автора
2. Название статьи (не обязательно)
3. Название журнала
4. Год издания

В принципе уже смирился с тем, что полностью автоматизировать не получиться,  но хотя бы часть рутины хотелось бы переложить на программу, по крайней мере для журналов всегда присутствует "//", в принципе его можно использовать для разбивки на 2 столбика, дабы потом искать по маскам, например авторов по маске
[* *.*.] или год публикации по маске [ ????. ], интуитивно мне кажется, что нужно использовать поиск по номеру вхождения и позицию начала поиска, но вот как это реализовать пока увы не представляю. Пример прилагаю, благодарю заранее.  
Как настроить размер элементов управления Exel 2016
 
Доброго времени суток, может кто нибудь подскажет как настроить размер элементов управления в Exel 2016 так что бы они не занимали полэкрана???
Это еще экран у меня высокий, а был бы широкий...
Пример
Изменено: CD_Zenit - 02.12.2018 11:39:36
Сортировка таблицы по клику названия столбца
 
Доброго времени суток, задача наверное банальная, но все же...
Нужно сортировать по возрастанию, всю таблицу, по столбцу при нажатии на его название, ранее я писал макрос сортировки для каждого столбца и навешивал его на элемент управления "подпись" (в примере - таблица 2, первые 2 столбца), в новой версии хочется избавиться от такой громоздкой схемы, нельзя ли как-то макрос сортирующий по клику названия, привязать ко всей таблице?  
Переход с 2003 на 2016, Возможен или нет без тормозов?
 
Всем доброго времени суток, еще не уверен, что оно того стоит, но все же в очередной раз предпринял попытку пообщаться с "новоделом", на этот раз 2016...
КАРАУЛ!!!
Подскажите пожалуйста - файл с макросами и активными элементами управления (в основном замещающие надписи с прописанным исходным текстом кода или кнопки с навешенными макросами), так же много формул, можно ли как-то оптимизировать, дабы он не думал над каждым макросом десятки секунд (а то и на минуты счет идет).
Сделать начало диапазона для функции изменяемым
 
Добрый день, тему про составление имени ячейки из частей читал, что -то пробовал и все равно воз и ныне там, помогите пожалуйста разобраться...
Есть формула функции с диапазоном $A$1:A2 например [=СЧЁТЕСЛИ($A$1:A2;"=1")], есть формула выводящая адрес ячейки  $A$1 [=ЯЧЕЙКА("адрес";A1)], как вставить в функцию формулу выводящую адрес, так что бы функция корректно воспринимала составной диапазон?
Как сделать динамическую привязку начала списка уникальных значений к началу массиву?, То есть если начинается новый массив должен начаться и новый список
 
Добрый день, помогите пожалуйста вставить в формулу списка уникальных значений адрес ячейки с которой начинается диапазон нумератора.
В целом задача такая, в столбике А (именованный динамический диапазон  Ааа) ряд последовательных массивов по уникальному ключу: бум, бам и т. д., каждой позиции массива Ааа соответствует значение в столбике U, в столбике V нужна для каждого массива (бум, бам и т. д.) построить список уникальных значений из столбика U, на начало нового массивы для которого нужно строить список уникальных значений, указывает очередное уникальное (не встречавшееся выше) значение столбика А.

Для первого массива я это сделал, и динамическую ссылку на массив из которого нужно выбирать уникальные значения тоже вроде бы прописал - работает, в столбике X - нумератор массивов, в столбике Y - формула адреса ячейки с которой вроде бы должен начинаться нумератор для каждого диапазона уникальных значений, но при попытке вставить ее в формулу построения уникального списка выдает сообщение об ошибке и выделяет функцию СЧЁТ(X$2:X3), то же самое произошло кстати когда я попробовал вставить еще одно условие ЕСЛИ, что бы формула не просчитывалась для пустых ячеек из столбика А...

То есть, вот это есть и работает:
=ЕСЛИ(ЕОШИБКА(ИНДЕКС(СМЕЩ(ИНДЕКС(Ааа;ПОИСКПОЗ(A3;Ааа;0);1);;20;СЧЁТЕСЛИ(Ааа;A3);1);ПОИСКПОЗ(0;СЧЁТЕСЛИ(V$2:V2;СМЕЩ(ИНДЕКС(Ааа;ПОИСКПОЗ(A3;Ааа;0);1);;20;СЧЁТЕСЛИ(Ааа;A3);1));0)));"";ИНДЕКС(СМЕЩ(ИНДЕКС(Ааа;ПОИСКПОЗ(A3;Ааа;0);1);;20;СЧЁТЕСЛИ(Ааа;A3);1);ПОИСКПОЗ(0;СЧЁТЕСЛИ(V$2:V2;СМЕЩ(ИНДЕКС(Ааа;ПОИСКПОЗ(A3;Ааа;0);1);;20;СЧЁТЕСЛИ(Ааа;A3);1));0)))

А вот это теоретически должно быть, но не работает...

=ЕСЛИ(ЕОШИБКА(ИНДЕКС(СМЕЩ(ИНДЕКС(Ааа;ПОИСКПОЗ(A3;Ааа;0);1);;20;СЧЁТЕСЛИ(Ааа;A3);1);ПОИСКПОЗ(0;СЧЁТЕСЛИ(ЯЧЕЙКА("адрес";ИНДЕКС(Ддд;ПОИСКПОЗ(СЧЁТ(X$2:X3);Ххх;0)+1;1))&":"&V2;СМЕЩ(ИНДЕКС(Ааа;ПОИСКПОЗ(A3;Ааа;0);1);;20;СЧЁТЕСЛИ(Ааа;A3);1));0)));"";ИНДЕКС(СМЕЩ(ИНДЕКС(Ааа;ПОИСКПОЗ(A3;Ааа;0);1);;20;СЧЁТЕСЛИ(Ааа;A3);1);ПОИСКПОЗ(0;СЧЁТЕСЛИ(ЯЧЕЙКА("адрес";ИНДЕКС(Ддд;ПОИСКПОЗ(СЧЁТ(X$2:X3);Ххх;0)+1;1))&":"&V2;СМЕЩ(ИНДЕКС(Ааа;ПОИСКПОЗ(A3;Ааа;0);1);;20;СЧЁТЕСЛИ(Ааа;A3);1));0)))

Изменено: CD_Zenit - 22.11.2018 18:22:32
Что означает апостроф в функции ПОДСТАВИТЬ указанный как "старый текст".
 
Добрый день, помогите пожалуйста разобраться в формуле, понял почти все кроме одного - почему адрес гиперссылки задается функцией ПОДСТАВИТЬ, а точнее ЧТО ("'") она заменяет ничем ("") в формуле диапазона? Еще точнее, что означает для экселя этот апостроф указанный как "старый текст" ?

=ГИПЕРССЫЛКА(ПОДСТАВИТЬ(ЯЧЕЙКА("адрес";ИНДЕКС(BazaCV.xls!ГПЛ_A;ПОИСКПОЗ(ИНДЕКС(BazaCV.xls!ГПЛ_A;ПОИСКПОЗ(A12;BazaCV.xls!ГПЛ_W;0);1);BazaCV.xls!ГПЛ_A;0)))&":"&ЯЧЕЙКА("адрес";ИНДЕКС(BazaCV.xls!ГПЛ_T;СЧЁТЕСЛИ(BazaCV.xls!ГПЛ_A;ИНДЕКС(BazaCV.xls!ГПЛ_A;ПОИСКПОЗ(A12;BazaCV.xls!ГПЛ_W;0);1)
)+ПОИСКПОЗ(ИНДЕКС(BazaCV.xls!ГПЛ_A;ПОИСКПОЗ(A12;BazaCV.xls!ГПЛ_W;0);1);BazaCV.xls!ГПЛ_A;0)-1));"'";"");ИНДЕКС(BazaCV.xls!ГПЛ_A;ПОИСКПОЗ(A12;BazaCV.xls!ГПЛ_W;0);1))
Изменено: CD_Zenit - 18.11.2018 20:31:17
Динамическая гиперссылка на диапазон другого листа
 
Добрый день, есть динамическая гиперссылка, в примере - [Формула] которая ищет в диапазоне "Массив", на листе Клиенты, значение из ячейки (A5) листа Якорь и позволяет к нему перейти, но часто получается так, что при переходе видна только эта ячейка внизу экрана, приходиться каждый раз прокручивать, а хотелось бы видеть сразу весь диапазон, включающий это значение, по аналогии с гиперссылкой на фиксированный именованный диапазон, в примере - [Фикс], но без необходимости присваивать имена куче диапазонов и каждый раз на них вручную ссылаться...
Наверное надо куда-то функцию СМЕЩ вставить, но видимо я или не туда или не так пытаюсь...
Код
=ГИПЕРССЫЛКА(ПОДСТАВИТЬ(ЯЧЕЙКА("адрес";ИНДЕКС(Пример5.xls!Массив;ПОИСКПОЗ(A5;Пример5.xls!Массив;0)));"'";"");"Формула")
Изменено: CD_Zenit - 15.11.2018 16:17:36
Как допилить Расширенный фильтр с добавлением магии?, Как реализовать автоматическое добавление/удаление строк по содержимому в поле поиск?
 
Здравствуйте, здесь есть потрясающее пособие для обработки напильником расширенного фильтра Расширенный фильтр и немного магии, получается просто шедевр, НО... нельзя ли его еще немножко допилить, заставив авто-макрос следящий за изменением значений поля поиск, следить еще и за его размером, вставляя или удаляя строки в зависимости от содержимого (именно вставка и удаление строк, а не растягивание/сокращение), превращение в таблицу - не помогает, во первых таблица при добавлении полей не вставляет строки и столбцы, а только растягивает их на уже существующие, а во вторых у 2003 офиса проблемы с названиями таблиц (ну или проблемы не у него, а у меня - все утро искал где можно задать или изменить название созданного списка, так и не нашел, с именованными диапазонами проблем нет, а с таблицами - все сложно).

Поэтому очень хотелось бы сделать ячейку, в которой можно было бы задать размер поля поиск в строках например 3 строки или 5-10 и заставить этот авто-макрос который фильтрует данные, так же следить и за размером поля поиск добавляя строки или удаляя их в случае появления какого то значения в любой ячейке последней строки указанного размера, без нарушения целостности именованного диапазона (при ручной вставке/удалении строк все работает корректно), ячейка с заданным размером нужна для случая когда в поле поиск не вводятся данные по одному, а копируется сразу список.
Изменено: CD_Zenit - 14.11.2018 12:55:12
Выбор из массива по 2 параметрам не работает на разных листах.
 
Добрый день, пробовал задать вопрос в похожей теме, посоветовали написать новую, помогите пожалуйста разобраться, проблема с функциями ИНДЕКС и ПОИСКПОЗ, Offis 2003 почему-то упорно не желает идти искать в массив расположенный на другом листе, в примере: нужно в ячейку 3 (Лист1) вставить значение из именованного диапазона ЧИСЛО (Лист2), соответствующее строке содержащей в диапазонах Имя (Лист2) и Буква (Лист2), те же значения, что в ячейках 1 (Лист1) и 2 (Лист1) соответственно, при этом при попытке указать Лист, он соглашается назвать только тот на котором формула, вместо другого подставляет название книги, но работать при этом все равно не хочет, пробовал сделать аналог с использование функции ВПР и добавлением ключевого столбика объединяющего 1 и 2 - работает с разными листами, но система и так очень громоздкая получается (пример обрезан - там еще много всего), хотелось бы все-таки с индексом подружить, ну или выяснить что 2003 этого не умеет (((, заранее спасибо.
СПАСИБО ФОРУМУ ЗА ТО ЧТО ОН ЕСТЬ!!!, Дошел до "не прелюбодействуй" и вспомнил где забыл велосипед!
 
В общем в очередной раз переборол свою нет не лень... - стопорную системы погружающую мозги в коллапс, каждый раз когда пытаюсь изучать программирование.
Изучаю книжку по написанию пользовательских функций - дело туго но идет, дохожу до очередного примера функции удаляющей пробелы, копирую в точности как есть в примере - НЕ РАБОТАЕТ... и так и эдак уже грешу на 2003 Exel..., уже начинаю вспоминать непечатные выражения...
Добавляю два как мне кажется недостающих пробела, компилятор перестает красить строку желтым, но... НЕ РАБОТАЕТ функция.
Трать тарарать... кофе выпито, пирог сжеван... функция не работает...

В общем, скрепя сердце и костеря свои мозги нехорошими словами, захожу на форум создаю в вопросах новую тему - дескать граждане хорошие помогите бедному студенту найти ошибку в таком вот... ВОТ ТАКОМ... ЭВРИКА!!! Этот НЕХОРОШИЙ... (уж не знаю кто, но подозреваю, что  ABBYY FineReader), вместо 1 поставил l, если кто не понял то вместо единицы английскую букву л - строчную, в VB редакторе моноширинным текстом этого естественно не видно, а вот в теме сообщения Таймес New Roman-ом очень даже заметно. Растудыть тебя налево - исправил, все работает!

Мораль: правильно заданный вопрос часто содержит ответ!

P.S. И спасибо форуму, за то, что он есть! И да здравствует великий и могучий коллективный разум размазанный по просторам интернета!!!
Изменено: CD_Zenit - 06.11.2016 17:42:42
Страницы: 1
Наверх