Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
25.03.2023, 08:36:49

Войти
Интересные и полезные статьи по работе с Excel и VBA можно найти в разделе ХИТРОСТИ
32 989 Сообщений в 5 390 Тем от 6 602 Пользователей
Последний пользователь: Игорь_ийя
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
  Просмотр сообщений
Страниц: [1] 2 3 ... 33
1  Основные форумы / Вопросы по Excel и VBA / Re:Отследить копирование листа внутри книги : 11.03.2023, 18:47:04
Спасибо, Дмитрий. Примерно так я и думал, но надеялся, что есть такой вариант. А жаль, счастье было так возможно...  Подмигивающий
2  Основные форумы / Вопросы по Excel и VBA / Отследить копирование листа внутри книги : 11.03.2023, 17:38:50
И снова здравствуйте, уважаемые знатоки!
При разработке простенькой программки возник вопрос: пользователь может скопировать лист для собственных нужд. Ну, например, повторяющаяся из месяца в месяц таблица. Возможно ли отследить событие копирования листа или, как вариант переименование листа? Это необходимо для изменения надписи в таблице. Решение с кнопкой "Скопировать лист" - отпадает по причине пользователя  Смеющийся
3  Основные форумы / Вопросы по Excel и VBA / Re:Проблема с модулем класса : 17.02.2023, 09:50:12
Спасибо всем, проблема, похоже, решена. Мне ведь, собственно, нужны были только 2 комбобокса...
Вот сам модуль класса:
Код: (vb)
Option Explicit

' Событие клик на форме UF_PRO
Public WithEvents Ch_Controls As MSForms.ComboBox

Private Sub Ch_Controls_Click()

' Вызов программы CTRLCLK с параметром имя контрола
If PS_UFN = "UF_PRO" Then CtrlClk Ch_Controls.Name

End Sub

И вызов:
Код: (vb)
Option Explicit

Private Sub UserForm_Initialize()

Dim N_CntC As Integer
Dim C_Ctrl As Control

N_CntC = 1

For Each C_Ctrl In Controls
' Перебор контролов в форме UF_PRO
    If Left(C_Ctrl.Name, 3) = "CmB" Then
       Set PAO_Ctrl(N_CntC).Ch_Controls = Me.Controls(C_Ctrl.Name)
       N_CntC = N_CntC + 1
    End If
Next

End Sub

И объявление массивов:
Код: (vb)
Public PAO_Lbls(1 To 34) As New CLSM_Labels     ' Массив LABEL`ов
Public PAO_Ctrl(1 To 2) As New CLSM_Controls    ' Массив CONTROL`ов

Ещё раз спасибо за участие. И, попутно, личный вопрос к Дмитрию Щербакову: "Как Вы думаете, что повлечёт за собой импортозамещение в области ПО? Наша контора собирается переходить на Astra Linux и Р7 Офис. Я с ним немного ознакомился и, честно говоря, в полном недоумении. Там макросами, можно сказать, и не пахнет. Какое-то жалкое подобие левой руки убожество на JavaScript, с минимальными функциональными возможностями. Примерно в пределах 2 + 2 =... А ведь на компах крутится десяток моих макросов, практически все с пользовательскими формами. Ума не приложу, что делать...
4  Основные форумы / Вопросы по Excel и VBA / Re:Проблема с модулем класса : 17.02.2023, 07:33:26
М-дя, виноват, исправлюсь Смеющийся
Вот строка, где возникает ошибка:
Код: (vb)
Set PAO_Ctrl(C_Ctrl.TabIndex).Ch_Controls = Me.Controls(C_Ctrl.Name)

А вот, собственно, сообщение об ошибке:
5  Основные форумы / Вопросы по Excel и VBA / Проблема с модулем класса : 16.02.2023, 12:33:30
Здравствуйте, уважаемые знатоки VBA.
Давненько не захаживал на форум, но вот случилась такая оказия: написал модуль класса (2 штуки), один работает на "УРА", а вот со вторым проблема.
Вот первый:
Код: (vb)
Option Explicit

' Событие клик на форме UF_VYBM
Public WithEvents Ch_Labels As MSForms.Label

Private Sub Ch_Labels_Click()

' Вызов программы SVODO с параметрами номер метки
If PS_UFN = "UF_VybM" Then SvodO Val(Right(Ch_Labels.Name, 2))

End Sub

Вот его вызов:
Код: (vb)
Option Explicit

Private Sub UserForm_Initialize()

Dim C_Lbl As Control

For Each C_Lbl In Controls
' Перебор контролов в форме UF_VYBM
    If C_Lbl.TabIndex > 0 And C_Lbl.TabIndex < 35 Then Set PAO_Lbls(C_Lbl.TabIndex).Ch_Labels = Me.Controls(C_Lbl.Name)
Next

End Sub

В этом случае работаю с Label`s
А вот второй, который не желает работать:
Код: (vb)
Option Explicit

' Событие клик на форме UF_PRO
Public WithEvents Ch_Controls As MSForms.Control

Private Sub Ch_Controls_Exit(ByVal Cancel As MSForms.ReturnBoolean)

' Вызов программы CTRLCLK с параметром имя контрола
If PS_UFN = "UF_PRO" Then CtrlClk Ch_Controls.Name

End Sub

И, соответственно, его вызов:
Код: (vb)
Option Explicit

Private Sub UserForm_Initialize()

Dim C_Ctrl As Control

For Each C_Ctrl In Controls
' Перебор контролов в форме UF_PRO
    Set PAO_Ctrl(C_Ctrl.TabIndex).Ch_Controls = Me.Controls(C_Ctrl.Name)
Next

End Sub

В этом случае пытаюсь работать со всеми контролами.
Объявлены оба массива как PUBLIC, в отдельном модуле:
Код: (vb)
Public PAO_Lbls(1 To 34) As New CLSM_Labels     ' Массив LABEL`ов
Public PAO_Ctrl(1 To 40) As New CLSM_Controls   ' Массив CONTROL`ов

Где накосячил - никак не пойму.
Очень прошу ткнуть меня в нужном направлении, дабы понять кто, где, кого...  Подмигивающий
6  Основные форумы / Вопросы по PowerPoint и VBA / Автоматический запуск макросов в Powerpoint 2010 и старше : 20.03.2021, 13:38:38
Многоуважаемыt знатоки VBA!
Начальство озадачило созданием хитро...сделанной презентации, где будут (?) работать макросы. Кое что уже начал делать, но как запустить эти макросы автоматически - увы не понятно. Пытался через Auto-Open, но как-то мимо...
Может быть кто-то озадачивался подобным вопросом? Хотя бы пните в нужном направлении  Подмигивающий
7  Основные форумы / Вопросы по Excel и VBA / Re:Управление градиентом графика : 07.04.2019, 07:52:16
Жаль, что нет такой возможности, а задумка была интересная...
8  Основные форумы / Вопросы по Excel и VBA / Re:Управление градиентом графика : 25.03.2019, 14:22:49
Да суть-то не в данных, а в том, как задать положение точки перехода цвета в градиенте. Ведь наверняка кто-то сталкивался с подобной задачей...
Файл слишком велик, поэтому выложу только диаграмму с данными.
Вот, на листе Тнв 3 графика.
На первом Точка 1 - 0%, Точка 2 - 100% (исходное состояние при построении графика).
На втором Точка 1 - 50%, Точка 2 - 100% (ПОКРАСНЕНИЕ).
На первом Точка 1 - 0%, Точка 2 - 50% (ПОСИНЕНИЕ).
Визуально видно (надеюсь) как изменяется градиент в сторону "ПОКРАСНЕНИЯ" или "ПОСИНЕНИЯ" в зависимости от положения точки. Я хотел бы добиться такого сдвига средствами VBA, если это, конечно, возможно.
9  Основные форумы / Вопросы по Excel и VBA / Re:Управление градиентом графика : 25.03.2019, 08:12:57
Вложение 3
10  Основные форумы / Вопросы по Excel и VBA / Re:Управление градиентом графика : 25.03.2019, 08:12:34
Вложение 2
11  Основные форумы / Вопросы по Excel и VBA / Re:Управление градиентом графика : 25.03.2019, 08:11:51
Так, упростим задачу, уберём 3-й цвет, оставим только два, но суть остаётся неизменной, нужно изменить положение точки градиента (?). См. вложения. Так как имеются известные ограничения на объём вложения придётся прикреплять в отдельных сообщениях.
Заранее спасибо всем откликнувшимся.
12  Основные форумы / Вопросы по Excel и VBA / Re:Управление градиентом графика : 24.03.2019, 18:25:15
Что-то подобное мне встречалось, но есть "маленькое" отличие: приведённый пример для 2-х цветного градиента, а у меня, эта зараза 3-х цветная... И вот 2-й цвет нужно сдвигать то в одну, то в другую сторону, а 1-й и 3-й как раз таки фиксированные.
".TwoColorGradient" - стандартное решение для двухцветного градиента, есть ещё ".OneColorGradient" для одноцветного, но для 3-х и более цветов ничего не нашёл.
13  Основные форумы / Вопросы по Excel и VBA / Управление градиентом графика : 24.03.2019, 13:41:45
Уважаемые форумчане!
Каюсь, грешен, давно не был на форуме. Вопросы не возникали к знатокам, что-то сам додумаю, что-то подсмотрю в Тырнете...
Но вот столкнулся с проблемой, которую не могу разрешить: управление цветовым градиентом на графике через VBA. График рисуется отменно, градиент вручную - без проблем. Попытался записать макрос, но дальше выбора линии ничего не пишет. Ну, то есть, выбираю "Формат ряда данных" и уже ничего в макросе на эту тему не вижу.
Может кто сталкивался с этой проблемой? Меня в частности интересует как программно изменять проценты положения точки (на фрагменте во вложении выделен красной рамкой) и возможно ли это вообще?
Заранее спасибо всем откликнувшимся.
PS. Вопрос не то чтобы принципиальный, но было бы неплохо решить его...
14  Основные форумы / Вопросы по Excel и VBA / Re:Изменение горячих клавиш в Excel 2007 : 03.10.2018, 20:04:23
Макросы отключил.
Не помогло. Остаётся только глюк... Возможно Win 10 дуркует...
Переставлять некогда, ибо на вахте. Решил по другому: вынес на панель быстрого доступа. Не очень удобно - но меня, пока, устраивает.
15  Основные форумы / Вопросы по Excel и VBA / Re:Изменение горячих клавиш в Excel 2007 : 02.10.2018, 19:50:44
Макроса то и нет, я ведь писал, что и на пустой книге проверял...
Страниц: [1] 2 3 ... 33
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru