Форумчане, всех с праздником, Новым Годом! Может мог бы кто подсказать как указывать графику динамический диапазон данных? Чтобы график обновлялся из указанного диапазона. пример на скриншоте:
Сортировка колонки со ссылочными значениями
Пользователь
Сообщений: Регистрация: 01.01.1970
22.03.2021 20:03:36
Господа, бьюсь над задачей, где можно было бы автоматически сортировать колонку, аккурат в тот момент, когда значения в родительской будут изменены.
каким образом советовали бы реализовать подобную задачу?
VBA. Как отловить исключение, когда нет ссылки на путь у объекта?
Пользователь
Сообщений: Регистрация: 01.01.1970
09.02.2021 13:23:15
Кроме On Error Resume Next, можно ли ещё както отловить исключение?
У объектов VBE.VBProjects, есть свойство FileName но оно какое-то странное, оно вроде есть, и в то же время его как бы и нет... если создать новую книгу, то получить значение свойства не представляется возможным. И ни, IsEmpty, ни проверкой на TypeName... Как можно проверить без генерации ошибки, что пути нет?
Применить вычисления к отфильтрованному списку
Пользователь
Сообщений: Регистрация: 01.01.1970
15.07.2020 00:42:50
Скажите, если есть отфильтрованный по какой-либо из колонок список. Можно ли к столбцу применить вычисления только лишь по отфильтрованному списку? Без создания вспомогательной колонки, а только лишь применительно к отобранным данным. Пример:
Есть ли возможность сгруппировать, и отсортировать сгруппированные данные в екселе?
Пользователь
Сообщений: Регистрация: 01.01.1970
29.04.2020 22:17:50
Приветствую форумчан! Не могу найти возможность группировки строк и последующей сортировки. Вообще, возможно ли такое сделать в экселе? Скриншот с описанием, и файл прилагаю.
Как реализовать двустороннюю связь с базой акцесса *.mdb?
Пользователь
Сообщений: Регистрация: 01.01.1970
26.04.2020 23:27:48
Приветствую, хотел было создать двустороннее соединение ячеек листа с базой акцеса (т.е. не только чтение, но и запись, если вдруг я поменяю значение в ячейке, то и в БД значение поменяется). Так вот смотрю в некоторых туториалах, в окне свойств подключения, есть вкладки Advanced и All
А у себя в своей редакции таких вкладок не нахожу. Так вопрос, они может как-то хитро припрятаны, или механизм обратной связи отключён?
Изменено: - 26.04.2020 23:28:09
Почему в рамках одной книги копируются отдельные диапазоны, а между разными инстансами весь диапазон?
Пользователь
Сообщений: Регистрация: 01.01.1970
21.04.2020 22:02:32
Коллеги, значит ситуация такая, с листа1 выборочно выделяю ячейки. Если вставить на новый лист, то нормально вставляется.
Но, если создать новую книгу, и там вставить, то вставляется весь диапазон. Есть может какой-то хинт, чтобы только скопированный диапазон можно было бы вставить в новую книгу?
Как в Excel2016 в меню "Сохранить как..." установить "Этот компьютер" по умолчанию?
Пользователь
Сообщений: Регистрация: 01.01.1970
21.04.2020 15:50:34
Здраствуйте, я постоянно при сохранении делаю одну лишнюю операцию, когда выбираю "Этот компьютер".
Всегда, по умолчанию выбран первый пункт OneDrive:персональный.
Может знает кто, где в каком реестре, можно поставить значение, чтобы по умолчанию был пункт "Этот компоютер"?
Не сортирует колонку, даже если выставить тип Числовой
Пользователь
Сообщений: Регистрация: 01.01.1970
01.09.2019 17:25:56
Всем привет!
Блин, что происходит, чего не получается отсортировать колонку? Сортирует какое-то количество, вроде идёт ровно, потом всё равно попадаются значения, которые меньше предыдущих, и вразброс. Думал, потому что есть пустые ячейки. Ок, удалять их нельзя, поэтому заменил пусто на 0. Но всё равно не сортирует порядочно. Привёл Общий тип к Числовому - никак в общем.
Прикладываю файл для примера. Как тут быть?
Подскажите пожалуйста, как посчитать количество по группе одного товара
Пользователь
Сообщений: Регистрация: 01.01.1970
24.07.2019 13:56:28
Добрый день! Есть столбец с данными. Данные могут как уникальными, так и не совсем. Подскажите, как получить по всем полям сколько и чего по количеству, и ещё, если выбраны какой-то диапазон, то считать только выделенное?
Перебрать все открытые книги если они запущены в отдельных процессах
Пользователь
Сообщений: Регистрация: 01.01.1970
07.07.2019 23:17:05
Господа, открыты несколько книг, мне надо получить объект той, которая сейчас выше всех (ActiveWindow). Делаю GetObject(,"Excel.Application") но возвращается ActiveWindow книги, открытой самой первой. Больше в Workbooks этого инстанса экселя других книг нету.
Отсюда вопрос: можно ли получить объект по hWnd?
В процессах я вижу, что открыты несколько экземпляров экселя. Как их перебрать все, и уточнить, кто из них выше всех? Ну и получить его путь. А уже по пути я и получу объект.
Как обратится к значению словаря, который в массиве?, vba dictionary
Пользователь
Сообщений: Регистрация: 01.01.1970
09.05.2019 16:29:09
Ребятки, подскажите плиз, как обратится к методу .Exists словаря, если он находится в массиве?
Код
Set dict = CreateObject("Scripting.Dictionary")
dict.Add 1, 1
Set arrTemp(0) = dict
как вот узнать? есть ли в словаре который в массиве(0) айтем 1?
Как остаток от деления округлить до целого в большую сторону?
Пользователь
Сообщений: Регистрация: 01.01.1970
04.03.2019 02:44:55
Как обычно, уже голова не варит, кто посвежее, подскажите как рассчитать на VBA такой случай: есть числа, и есть определённый лимит, скажем, 1руб. за каждые 500. Лучше наглядно: 488 = 1р. (потому что лимит до 500, а 500 это 1р.) 728 = 2р. (потому что первые 500 = 1р., и 278, это уже вторые 500, тоже = 1р.) 10 = 1р. 1520 = 4р. (тут 3 по 500 и 20 уже входит в новые 500)
ну и т.д. уже нагородил формул всяких, кошмар. Попроще есть идеи? Думал, чтото насчёт:
Код
a = Round(myval / 500)
If Not myval mod 500 = 0 then
a = a + 1
End if
Медленная конкатенация строки в VBA, s = s & n
Пользователь
Сообщений: Регистрация: 01.01.1970
28.01.2019 11:01:16
Приветсвую!
Скажите, как ускорить конкатенацию строки? Сейчас очень уж медленно всё склеивает. Грубо говоря, генерятся строки примерно такого содержания: "INSERT INTO t (f1,ff2,f3) VALUES (1,2,3);" и таких строк примерно 4-7 тысяч нужно набить в переменную.
Выделить space переменной изначально не ясно сколько, так что этот подход не очень навскидку. А может что-то ещё есть из идей?
Сравнение двух картинок, Чем бы сравнить 2 картинки?
Пользователь
Сообщений: Регистрация: 01.01.1970
27.12.2018 05:04:23
Всем привет!
Встала надобность сравнить 2 картинки. Каким способом это возможно сделать? На лист картинка попадает таким способом:
Код
Sub imgCompareTest()
Dim pic1 As Object
Dim pic2 As Object
Set pic1 = ActiveSheet.Pictures.Insert("C:\mydigits\pic14.bmp")
Set pic2 = ActiveSheet.Pictures.Insert("C:\mydigits\pic14.bmp")
'и вот теперь надо сравнить два объекта
'...
End Sub
Как переместить фигуру по дуге (окружности)
Пользователь
Сообщений: Регистрация: 01.01.1970
03.10.2018 03:33:15
Ребят, всем привет!
Как мне построить овал не по конкретной координате x,y, а с указанием градуса, относительно некой фигуры? Т.е., предположим у меня есть окружность (разбил на сектора для наглядности). Я знаю центр окружности и её высоту. Теперь мне надо построить овал над этой окружностью, но под определённым градусом. См. фото: извиняюсь за фото, здесь нарисован вручную синий овал под 10°. Как нарисовать овал программно под 20°, 30°,... и т. д.?
А как можно было бы добавить фигур, чтобы их потом скопом удалить?, Shapes Add Remove
Пользователь
Сообщений: Регистрация: 01.01.1970
01.10.2018 23:37:42
Каким способом лучше добавить фигуры (Shapes) чтобы их все сразу удалить(уничтожить)?
В коде я добавляю шейпы так:
Код
Set obj = ActiveSheet.Shapes.AddShape(msoShapeOval, p.x, p.y, 12, 12)
можно по идее хранить имя в массиве для добавленного шейпа, а потом в цикле прибивать каждую фигуру. Но мне не очень нравится этот способ.
Есть ли возможность поместить все фигуры в некий класс или в другой контейнер, чтобы потом, р-раз, убил контейнер, и все отрисованные фигруы со страницы исчезли бы разом?
Почему ListBox_Click срабатывает только оин раз?, ListBox event
Пользователь
Сообщений: Регистрация: 01.01.1970
01.10.2018 20:23:43
Всем привет!
Почему у стандартного контрола ListBox такое странное поведение? Если кликнуть по какому-то значению, то сработает событие. Если же снова кликнуть по этому же значению, то событие уже не срабатывает. Надо сбросить фокус вначале с этого значения и снова кликнуть. Но, а как можно вызывать событие по каждому клику?
Как правильно стилизовать документ: заготовить шаблон или форматировать уже после внесения данных?
Пользователь
Сообщений: Регистрация: 01.01.1970
29.08.2018 01:17:45
Добрый день!
Подскажите, как бы вы поступили в случае, если часто надо формировать документ с данными, и этот документ нужно было бы привести в читабельный вид - установить размер шрифта, сделать строки с двумя чередующимися цветовыми оттенками и т.д. Чтобы человеку который получает данные было удобно работать, и не приходилось каждый раз заново раскрашивать и подгонять данные.
Я первым делом пришёл к мысли, мол, вставил данные в документ, затем макрос бы начал форматирование колонок, строк, шрифтов. Но потом подумал, а есть же, наверное, построитель шаблонов, единожды расчертил там всё как надо и готово. Но, хотя, вот как быть, если неизвестно точное количество столбцов? Там, да, я могу первую строку отформатировать, столбец опять же. Но, как быть, если неизвестно сколько будет столбцов? Годится ли для данной затеи вообще шаблоны, или может, надо другой инструмент какой-то использовать? Задача: чтобы файл отчёта всегда имел один стиль.
Как вывести на диаграмме значения?
Пользователь
Сообщений: Регистрация: 01.01.1970
20.06.2018 15:47:57
И снова приветствую Вас, коллеги!
Значится задался я целью попрактиковаться в натравлении диаграмм/графиков на некоторый массив данных. Но какой бы тип я не накладывал на данные, все значения утекают кто куда, и никак не собирается общая картина, хоть мало-мальски понятная для визуального восприятия. Я Вас попрошу, гляньте документ, вот как применить какой-то инструмент, либо график, либо диаграмму чтоб увидеть хоть что-то понятное. В таблице есть товар, цена склада, количество на этом складе. Ну хотя бы какой-то график, хоть что-то извлечь, например, показывающий цену по возрастанию, чтоли. Сразу приношу свои извинения, если эти инструменты не для этого и я многого прошу.
Каскадное обновление данных в иерархической структуре
Пользователь
Сообщений: Регистрация: 01.01.1970
14.06.2018 00:09:23
Уважаемые знатоки, не уверен, что подобное возможно в экселе быстрыми методами, но бывает так, что всплывают такие вещи, о которых никогда бы не подумал. Поэтому, на всякий случай задам вопрос, возможно или нет подобное.
1. Изначально у нас есть данные, представленные в виде дерева. Данные - это информация о спектаклях в различных театрах, и наличии свободных мест на ту или иную постановку.
2. В какой-то момент времени приходят данные только лишь об одном конкретном спектакле, а именно когда он будет проходить, и количестве свободных мест.
3. Теперь остаётся наложить полученные данные с теми, которые у нас были изначально, и обновить исходный список.
В целом, как я бы решал задачу, это получил бы нужный диапазон с данными и построчно начал бы обходить ветви на предмет наличия/отсутствия совпадения из нового прихода. Если днём есть постановка Щелкунчика, отлично, сравниваем количество билетов. Если нету постановки в новом приходе, а в старом есть - удаляем строку, а если надо то и родителя, в случае если там больше никаких других постановок не осталось.
Но при обходе диапазона, нарушается адресация строк, т.е. ведь я какие-то добавил, какие-то удалил. И понятное дело, уже моя итерация не совпадает с конкретной строкой. Так вот как это всё контролировать можно, чтобы не задевать данные о других спектаклях?
Наглядно, вот такая схема:
1 - изначальные данные 2 - то, что получили извне 3 - результат, который должен получиться на выходе
Премного благодарен за любые советы и идеи. Файл если кому-то нужен прикладываю, однако там ничего сверхестественного, лишь небольшой массив данных.
Изменено: - 14.06.2018 00:20:09
Получение из колонок наименьшего значения при определённом условии
Пользователь
Сообщений: Регистрация: 01.01.1970
10.06.2018 02:55:07
Подскажите, каким способом можно достичь поиск наименьшего значения в диапазоне строки, но при определённых условиях, согласно рядом стоящего значения?
В общем, есть три источника-резерва, где хранится n-нное количество изделий по n-нной цене. Нужно отобрать источник, где у изделия наименьшая цена, и при этом количество больше одного.
Какие диапазоны по Y содержат наибольшее скопление точек (кластеры) на указанном отрезке X?
Пользователь
Сообщений: Регистрация: 01.01.1970
03.06.2018 17:21:54
Добрый день!
У меня есть некоторые графики, в которых часто возникают скопления точек. Вот скриншот данных:
например, тут видно, что за определённый промежуток чаще всего точки оседали в диапазоне от 16 до 23 (по оси Y, отмечено 1). Чуть реже скопление, можно заметить также в диапазоне от 5 до 9 (отмечено 2).
Вопрос такой: какой формулой (или уравнением) можно было бы введя последовательность чисел, узнать, какие диапазоны по Y содержит наибольшее скопление точек (кластеры) на таком-то отрезке по оси X?
Как изменить размер Range?
Пользователь
Сообщений: Регистрация: 01.01.1970
29.05.2018 19:30:45
Добрый день!
Есть диапазон А1:В4 Подскажите, как в коде переразмерить диапазон, чтобы он был начиная со второй строки? Чтобы вышло А2:В4
Подсчёт количества повторяемости значения, Частота диапазон подсчёт
Пользователь
Сообщений: Регистрация: 01.01.1970
13.11.2017 20:46:07
Добрый вечер, не получается никак подбить количество одинаковых ячеек из некоего диапазона. См. скрин: Надо определить, сколько раз повторяется каждая из цифр из указанного диапазона. Т.е. у меня есть диапазон чисел от 0 до 11, надо выяснить, сколько раз повторяется каждая из чисел в выделенных ячейках. Результат того, что я хотел бы видеть в результате я поместил справа от выделенных ячеек.
Я думаю, что за это может отвечать функция ЧАСТОТА, но я не могу её правильно применить.
Изменено: - 13.11.2017 20:47:09
Вставить Range в новый лист без применения Copy
Пользователь
Сообщений: Регистрация: 01.01.1970
29.03.2017 20:40:28
Всем привет. Код:
Код
Dim rng As Object
Set rng = Range("A14:S14,A20:S20,A27:S27,A36:S36,A41:S41").Cells
Sheets("Лист2").Cells(1, 1) = rng
Нужно вкинуть объект Range на новый лист. Сделал код как показано выше, но он ничего не вкидывает. Copy не подходит, т.к. между копированием и вставкой проходит время, и в этом промежутке могут в буфер попасть другие данные с других книг.
Что ещё можно было бы предпринять?
Параметры для открытия csv
Пользователь
Сообщений: Регистрация: 01.01.1970
20.03.2017 17:52:13
Подскажите пожалуйста, как открыть программно csv-файл? Код такой:
Код
Dim objExcel, objWorkbook
Dim File1 As String
File1 = "C:\cakes.csv"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
'не работает
'Set objWorkbook1 = objExcel.Workbooks.OpenText (filename= "" & File1 & "" , dataType=xlDelimited, Comma=True)
'Set objWorkbook1 = objExcel.Workbooks.OpenText (File1, , , , , , , , True)
Файл прилагаю.
Как "пройтись" по объеденённым ячейкам в Selection?, Определить количество, собрать значения.
Пользователь
Сообщений: Регистрация: 01.01.1970
20.01.2017 03:29:20
На листе есть объединённые ячейки. Часть я выделяю, как определить сколько ячеек выделено? Как пройтись по этим ячейкам и собрать значения? Вот пример выделения:
1) Как узнать что выделено 9 объединённых ячеек? 2) Как получить строку: 18,21,24,17,20,23.16,19,22 ?
Selection.Cells.Count выдаёт мне 36.
Существует ли программный перегон csv в xls?, Конвертация CSV в XLS
Пользователь
Сообщений: Регистрация: 01.01.1970
17.01.2017 20:52:00
Добрый вечер! Мне приходит каждый день csv-файл с данными (4 колонки). И его приходится вечно импортировать в книгу, чтобы потом сохранить как XLS для передачи в другой отдел. Вроде и немного работы, но время и внимание отнимает ежедневно. Как можно сделать макрос, и в него забить необходимые параметры для автоматического импорт-экспорта?
Разделить цену на количество и вписать поштучно в каждую колонку., Цена за шт. Цена за 2. Цена за 3 и т.д.
Пользователь
Сообщений: Регистрация: 01.01.1970
02.12.2016 15:56:44
Добрый день! Помогите вывести данные для следующего случая. Есть 2 колонки: Цена и Количество Нужно поделить Цену на количество, и добавить необходимое число столбцов после Количества. Цена за 1 шт., Цена за 2 шт., Цена за 3 шт. и т.д. вплоть до общего количества. Пример1: 300руб, 3шт. Добавляем 3 столбца, в итоге: 300руб, 3шт., Цена за 1 шт. - 100р, Цена за 2 шт. - 200р, Цена за 3 шт. - 300р
Пример2: 300руб, 2шт. Добавляем 2 столбца, в итоге: 300руб, 2шт., Цена за 1 шт. - 150р, Цена за 2 шт. - 300р