|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
|
Excel Смешанные ссылки в коде при работе с датами (нужна подсказка)15.01.2019, 12:00. Показов 1043. Ответов 15
Метки vba excel макрос (Все метки)
Добрый день.
Для написания части кода мне необходимо определиться с оптимальным вариантом записи пользовательской функции, учитывающей смешанные ссылки на ячейки с датами и используемые в формулах при выполнении расчетов. Упрощенный пример, основанный на ссылках вида $ прилагается. Интересует как это реализовать в виде кода макроса? Предполагается, что для работы с таблицей блоки будут "дублироваться" с корректировкой даты. При расчетах разности дат в коде планируется использовать функцию DateDiff. Спасибо.
0
|
|
| 15.01.2019, 12:00 | |
|
Ответы с готовыми решениями:
15
Нужна подсказка к задаче по работе с классами Нужна подсказка в коде |
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
|
| 15.01.2019, 12:39 [ТС] | |
|
Может быть, как вариант, использовать lastColumn, lastRow
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
||||||
| 20.01.2019, 14:52 [ТС] | ||||||
|
Добрый день. Кое-что у меня получилось, но осталась часть кода которую я не могу привести в порядок.
Прошу помощи. Прилагаю упрощённый пример, который передаёт суть. При заполнении таблицы данными (корректном заполнении) и необходимости вычисления разницы между датами (DateDiff) и записи результата в ячейку "i1" функция Pvmail перестаёт работать. Хотя MsgBox dy отображает результат вычисления. В чём может быть причина?
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|||||||
| 20.01.2019, 16:57 | |||||||
|
Добавлено через 4 минуты Скорректируйте например так:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
|
| 20.01.2019, 20:09 [ТС] | |
|
Hugo121,
Спасибо. Работает. Попробую с более сложными конструкциями.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 20.01.2019, 20:38 | |
|
Надёжнее и правильнее в Range("i1") прописать другую UDF, работающую аналогично с Pvmail, но выводящую только одно значение.
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
||||||
| 20.01.2019, 22:27 [ТС] | ||||||
|
Hugo121,
Спасибо за помощь. Дополнительную пользовательскую функции сделать просто. Но сейчас задача стоит, "привязавшись" к корректности ввода данных, определить прошедшее время (дни) между событиями и на контрольные даты, используя ячейки вывода результатов разницы дат. Пока сумбурно изложил. Не справлюсь сам, выложу расширенный пример. Добавлено через 1 час 31 минуту Hugo121, попробовал таким образом, но не срастается ???? строчки 21-29
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 20.01.2019, 22:36 | ||||||
![]() Покажите файл где не работает - ибо на том, что выше точно работать такое не будет.
0
|
||||||
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
||||||
| 20.01.2019, 22:51 [ТС] | ||||||
|
да это не правильно
изменю для наглядности, например, так
0
|
||||||
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
||||||
| 20.01.2019, 22:55 [ТС] | ||||||
|
Hugo121,
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|||||||||||
| 20.01.2019, 23:19 | |||||||||||
|
Попробуйте посмотреть что напишет
А С1 там никак не получается.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
|
| 20.01.2019, 23:22 [ТС] | |
|
Hugo121,
спасибо, пробую
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|||||||||||
| 21.01.2019, 00:00 | |||||||||||
|
Блин, пытаюсь взлететь - да как взлетишь с 29.02.2019
![]() Добавлено через 9 минут Предлагаю упростить так:
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
|
| 21.01.2019, 00:54 [ТС] | |
|
Hugo121,
О-ок! Это упрощает мои хотелки. Появляются новые возможности и мысли. Спасибо и хорошей ночи.
0
|
|
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
||||||
| 25.01.2019, 13:46 [ТС] | ||||||
|
Hugo121, Добрый день.
Возможно Вы подскажете или кто-то другой о "природе" циклической ошибки возникающей в ниже приведенной конструкции. Отследить не удалось, вылетает. Например при изменении значений ввода данных (наглядно по разным датам). Интересует как исправить?
0
|
||||||
|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 29
|
|
| 25.01.2019, 23:05 [ТС] | |
|
Часть проблемы "вылета" нашёл.
Была ошибка в декларировании и фактическом количестве ячеек вывода результатов ReDim v(1 To 2, 1 To 5), а нужно было ... To 3. Но... Теперь при попытке редактирования функции pvmail через ячейку листа, выскакивает поочередно 2 сообщение "Все готово. Сделано замен: 1". При изменении данных в любых полях окна функции также выскакивает по 2 сообщение. И в конце при закрытии окна функции также. . Кто знает, как избежать этого? Забыл ещё упомянуть, что иногда в других диапазонах вывода результатов на да ту же дату (dt2) прописываются ошибки #ЗНАЧ!
0
|
|
| 25.01.2019, 23:05 | |
|
Помогаю со студенческими работами здесь
16
Ошибки при работе с датами исправление екселя при работе с датами
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|