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

Страницы: 1
Операция со значением ячейки в макросе, как реализовать
 
Всех приветтсвую
В макросе идет действие с текущей ячейкой по средством Set aa = ActiveCell и написанной отдельно функцией ввода числа от пользователя.
Как реализовать математическую (или любую другую) операцию с ячейкой по КОНКРЕТНОМУ адресу, например P1250.
То есть ввели в текущую ячейку число, введенное пользователем (это понятно как реализуемо), а потом это введенное число скажем прибавили к значению ячейки с адресом P1250 и поместили результат туда же в P1250
Спасибо.
Меню макросов внутри самого макроса, как реализуется
 
Приветствую.
Есть несколько однотипных макросов. Как написать макрос, в котором будет меню выбора и запуска этих макросов? Насколько понял это надо оформлять Private Sub, а сам вызов Application.Run "Книга1.xlsm!Vyzov1", если из другой книги вызов идет и без "Книга1.xlsm!", если внутри одной книги, так? А вот само меню как реализовать?
Спасибо
Изменено: NewMaestro - 06.03.2023 09:44:53
Показ Примечания с дгурой стороны, Возможно ли?
 
Приветствую уважаемых форумчан.
По умолчанию при вставке в ячейку примечания, при наведении мышки на эту ячейку примечание показвается в правом верхрем углу. В случае, когда нужная ячейка находится на грани правой стороны экрана, показ примечания выходит за поле зрения, т.е. НЕ виден. Так вот возможно ли сделать так, чтобы примечание показывалось с правой стороны нужной ячейки?
Спасибо
Перемещение курсора по ячейкам
 
Приветствую
Простая задача. Как переместить курсор на определенное количестов ячеек вниз или вверх отностительно текущей позиции?
Ккак пример - просто на одну ячйку вниз от того мета, где сейчас находится курсор. Спасибо
Ссылка внутри макроса на результат работы другого макроса
 
Всем привет
Написал небольшой макрос ВВОД_СУММЫ(), который используя Application.InputBox делает запрос от пользователья на ввод суммы, после ввода пользователем он преобразует текст в число и помещает это в переменную.

Задача.
Чтобы каждый раз (а у меня очень много макросов, в которые надо вводить данные) в тексе макроса не писать полный текст этой процедуры ВВОД_СУММЫ(), сделать ввод в переменную результат воода пользователя.

Вот к примеру есть макрос, который вносит в нужные ячейки данные:
Код
Sub Макрос1()

Dim aa As Range
Set aa = ActiveCell

aa.Value = "Мои данные1": aa.Offset(, 1) = число: aa.Offset(, 1).NumberFormat = "0.00":
aa.Offset(, 11) = "Мои данные2": aa.Offset(, 12) = число: aa.Offset(, 12).NumberFormat = "0.00": aa.Offset(, 13) = 1

End Sub
в этом макросе число - это конкресная цифра. Т.е. в конкретном макросе стоит своё число, например, 12,50 и т.п.
Так вот в идеале сделать так, чтобы число - это было ссылка на Макрос ВВОД_СУММЫ(), который и реализует запрос данных с преобразованием в число
Т.е. КАЖДЫЙ раз когда ЛЮБОЙ из моих макросов доходит до места, где есть число, он обращается к макросу ВВОД_СУММЫ(), который и осуществляет этот ввод и подставляет уже готовый результат ввода

Надеюсь понятно объяснил.
Изменено: NewMaestro - 30.11.2022 10:32:03
Нестандартна горячая клавиша для макроса, Можно ли?
 
Всем привет.

Есть некоторые макросы, которые хотелось бы повесить на СВОИ горячие клавиши. А то "Ctrl + буква" не устраивает. Можно ли сделать на комбинации с Alt, Win, Shift, пробел и их комбинации, например: Crtl+Alt+Win+буква или цифра. Ну любые другие

Application.OnKey походу надо как-то задействовать...

Спасибо
Изменено: NewMaestro - 08.10.2022 15:34:04
Макрос для перехода по листам
 
Всем привет
Надо написать пару макросов, ПОЛНОСТЬЮ имитирующих нажатие мышкой по нужному листу в открытой книге. Причем не надо переходить на конкретную ячейку листа, не надо делать содержание листов как в примерах, а именно открывать лист на момент последнего сохранения файла по Ctrl-S или в меню. Потом просто их на горячие клавиши повесить и все.

Заранее признателен
Полное копирование листа в другую книгу с сохранением формул
 
Приветствую специалистов и всех неравнодушных

Есть файл личного бюждета, в котором 12 листов по месяцам и еще по мелочи несколько листов
в текущем месяце (декабре) было принято решение модернизировать (улучшить, оптимизировать файл). Основной файл был сохранен как копия под названием Тест и на листе Ноября была произведена оптимизация, заключавшаяся в перемещении отдельных полей (ячеек), добавлении новых, использовании более правильных алгоритмов условного форматирования.

Теперь стала задача переноса листа Ноябрь из файла Тест в основной файл Бюджет

При попытке использования стандартного механизма переноса, путем вызова правой кнопки мыши по имени листа и выполнением операции копирования листа с одной книги в другую, все замечательно копируется со всеми данными, правилами форматирования и т.д., НО...
формулы при этом нарушаются. А между листами (месяцами) есть формульная связь.

Т.е. копирую лист Ноябрь из Теста в Бюджет, получается лист Ноябрь2. После удаления листа Ноябрь и переименования Ноябрь2 в Ноябрь происходит полное нарушение связей в формулах. Формулы Декабря ссылаются на данные Ноября и т.д.

Подскажите, возможно как-то этот процесс упростить вместо того, чтобы вручную править формулы, что займет достаточно много времени и возможны ошибки естественно при ручной правке

Заранее признателен. Всех с Наступающим Новым годом!
Полное клонирование листа, Как скопировать один лист в другой Один в Один
 
Приветствую знатоков
Имеется книга, в ней есть определенный лист. Требуется его КЛОНИРОВАТЬ 1 в 1 в другой лист с Полным дублирование, а именно:
- с сохранением ширины столбцов,
- высоты строк
- ВСЕМИ правилами условного форматирования и т.д.
Применить форматирование только к числовым данным в диапазоне с данными разных типов
 
Правильная тема: Условное форматирование в зависимости от данных в ячейке / диапазоны внутри диапазонов для условного форматирования

Вот сделал по-быстрому пример (упрощенный)
В файле надо сделать условное форматирование колонки "Номер" - столбец С, где чисто числовые данные. Например, если больше 0 - то выделить фон и шрифт, если иначе, то НЕ выделять (просто как пример). И тут диапазон ячеек, который надо рассматривать : C2:C20 и все. В моем же основном файле таких диапазонов очень много и их надо РУКАМИ все выделять. А чтобы упростить задачу можно взять ВЕСЬ диапазон : A1:F20 (в конкретном примере), но при этом подвергать условному форматированию ТОЛЬКО ячейки с чисто числовыми данными (не дата, не текст, не логическое выражение), а с НЕ числовыми не трогать. Т.е. если задать ВЕСЬ диапазон A1:F20, то и текст будет подвержен форматированию. В моем конкретном примере это видно как под форматирование попало ВСЕ, а надо только столбец С, но при этом использовать именно диапазон A1:F20
В примере еще и столбец "В" затронет, т.к. он тоже с числовыми данными, но на суть вопроса это не влияет

Уфф, вроде разжевал как мог  

Ну а тему модератор пусть поправит как надо
как вариант - условное форматирование в зависимости от данный в ячейке

Тут как вариант еще одно решение придумал, может оно намного проще будет к реализации..
Сделать диапазон форматирования и задать исключение из него одним или несколькими поддиапазонами. Тогда смотреть на содержимое ячеек ВООБЩЕ не надо будет. В моем конкретном примере общий диапазон для форматирования взять A2:F20 и исключить из него диапазоны A2:B20 и D2:F20. Вопрос КАК это сделать?

Оба варианта решения могут полезны в разных случаях. Второй мой вариант как раз ДЛЯ меня сейчас наверное больше подойдет, но а вариант с определением содержимого ячеек в другом случае может оказаться единственно возможным
Меню из макросов, как создать
 
Всем привет.
На ленте создал дополнительную свою вкладку для макросов. ПО мере наработок количество макросов разрастается и тут возникла необходимость все это добро каким-то образом сгруппировать, т.к. макросы уже не вмещаются. Как можно сделать подменю в своей вкладке. Т.е. на вкладке располпгаются меню, по ней кликаешь и выпадает подменю макросов для определенного типа задач.
https://c2n.me/4cmXWSL


Заранее благодарен за помощь
Изменено: NewMaestro - 13.06.2021 18:18:50
Ошибка в макросе, который создаёт примечания к ячейкам, ошибка только в определенном файле
 
Всем привет
Есть простейший макрос, который создает в ячейке примечание
Код
With ActiveCell.AddComment("Новое примечание")
        .Visible = False
        With .Shape.TextFrame
            .AutoSize = True
             With .Characters.Font
                .Bold = True
                .Size = 12
            End With
        End With
    End With
End Sub

В любых файлах, кроме одного он прекрасно отрабатывает, а в ОПРЕДЕЛЕННОМ (а он как раз и нужен постоянно и КАЖДЫЙ день) ругается на .AutoSize = True
а именно:

Run-time error "1004"
Application-defined or object-defined error

Не пойму в чем проблема
Нужный файл достаточно сложны с множеством листов, формул и т.д.. Это файл годового бюджета по месяцам. В файлах за прошлые года все нормально, а именно ЭТОГО года ругается. Заметил одну особенность, что именно при открытии ЭТОГО файла Exel ругается на ошибки "Циклические ссылки", хотя в других файлах эти циклические ссылки тоже есть (если проверить в меню Формулы - Проверка наличия ошибок - Циклические ссылки), но именно при открытии этих файлов Exel не ругается на них, а при открытии НУЖНОГО мне файла ругается. Может в ЭТОМ проблема? Хотя, с другой стороны при чем тут циклические ссылки? А может совсем и не в этом?

P.S. Провел эксперимент. Сохранил файл под другим именем и удалил почти все листы, оставил несколько. При открытии этого файла Exel уже НЕ ругается на циклические ссылки, но макрос все так же выдает ошибку на том е месте - чудеса

Кто подскажет где копать?

Заранее признателен
Изменено: NewMaestro - 25.03.2021 10:59:16
Найти в столбце значение и вернуть то, что слева
 
Всем привет.
Стоит такая задача.
Требуется найти из некоторого количества ячеек (это массив по идее получается - искомые ячейки все в одной колонке) адрес ячейки с определенным значением
и потом взять значение на 1 позицию влево.

Например: смотрим ячейки с С2 по С10 и ищем в них ячейку со значением "1"
Если нашли, к примеру это будет ячейка С5, то возвращаем значение ячейки левее на 1, то есть B5
Как при подсчете использовать переменное значение номера ячейки
 
Всем привет
Подскажите пожалуйста как в формуле использовать для номера ячейки значение из другой ячейки?
Например. Есть формула
Код
=СУММ(ЕСЛИ((B2:B776)="Что считаем";1;0)*(C2:C776)) 

Она считает сумму "Что считаем" из диапазона B2:B776 в диапазоне колонки чисел C2:C776
Так вот как сделать чтобы диапазон начала подсчета был переменным и брался из Другой ячейки?
Например, есть ячейка АВ778, в которой указано начала диапазона подсчета. Так вот надо чтобы вместо B2 и С2 было подставлено значение из ячейки АВ778
ТО есть если там, к примеру введено значение 15, то формулы была бы уже вот такой:
=СУММ(ЕСЛИ((B15:B776)="Что считаем";1;0)*(C15:C776))

Заранее признателен
[ Закрыто] из Exel-файла в Гугл-таблицу
 
Всем привет
Вот такая задача стоит

Есть таблица на компе (достаточно сложная с множеством листов и т.д.)
Можно ли каким-то образом реализовать отображение определенных ячеек этой таблицы в гугл-таблице?

Если проще, то надо просто каким-то образом видеть значения определенных ячеек таблица на компе (он всегда онлайн) на смартфоне через интернет. А выше предполагаемый вариант решения (если такое реализуемо)
Переносить ВСЕ в Гугл-таблицу нет никакого смысла. Может настроить макрос на импорт именно этих определенных ячеек каким-то образом?
То есть файл с таблицей по определенному пути на компе и импорт некоторый ячеек в уже готовую Гугл-таблицу по url

Надеюсь доступно пояснил ))

Нашел функцию IMPORTRANGE - импорт с гугл-таблицы в локальную таблицу. Так вот надо наоборот. Можно ли как-то получить url - файла на компе?

НОВОЕ название: Ячейки в таблице на сматрфрне через интернет!
Изменено: NewMaestro - 19.07.2020 14:32:01
Окно с вводом данных в переменную
 
Всем привет.
Как реализовать следующее:

При запуске макроса выскакивает окно с просьбой ввести некие (в окне написано какие именно) данные (текст или цифры), и кнопка "Ок". Пользователь вносит в онко нужные данные, нажимает "Ок" и они помещаются в переменную, которая потом используется в нужном макросе.

Заранее признателен
Меню из макросов
 
Всем привет.
Подскажите плиз 2 момента:

1. Как сделать меню из макросов.
Т.е. по горячей клавише запускался макрос, который будет открывать меню (и подменю) из других макросов. Если можно с примером
Меню отдельное, не на панели инструментов или ленте Exel


Заранее признателен
Запись в текущую ячейку и ячейки со сдвигом
 
Всем привет
Как написать макрос, который будет записывать некоторое значение в текущую ячейку, а также в ячейки вправо (или влево) от текущей на определенное число.
в текущую, я так понимаю будет так: ActiveCell.Value = "Значение"
а далее надо в ячейку, отстоящую вправо от текущей к примеру на 3 ячейки вписать значение и значение с определенным форматом (например числовой с 2 цифрами в дробной части)

Спасибо
Exel 2013 - макросы слетают и не восстанавливаются потом.
 
Всем привет
Написано много макросов для Exel (Windows 7)
Все они доступны во ВСЕХ открываемых книгах. При переустановке винды сохраняю файл c:\Users\Пользователь\AppData\Roaming\Microsoft\Excel\XLSTART\­PERSONAL.XLSB
и потом все работает. Но заметил что иногда (непонятно по каким причинам или после какого события) макросы пропадают (при этом файл PERSONAL.XLSB остается на своем месте) и повторный перенос файла PERSONAL.XLSB не решает проблемы, если только вручную его не запускать (и то по кнопкам в ленте они не работают, только при запуске из самих макросов) и только полная переустановка винды помогает. Где копать, кто поможет?

P.S. Слышал макросы еще можно Надстройками оформить (так с ними разбираться еще надо), но и без них все должно работать, а тут....
Мне по сути что надо: Нажал кнопку на ленте - выполнился макрос - ВСЕ. А тут ни с того, ни с сего стали слетать и все тут.... 8-0
Заранее признателен

Вот что обнаружил при очередной попытке записать маркрос.Получается где-то надо разрешить запись, а где???
Изменено: NewMaestro - 08.02.2019 11:43:43
Страницы: 1
Наверх