Просмотр сообщений
|
Страниц: [1] 2 3 ... 33
|
1
|
Основные форумы / Вопросы по Excel и VBA / Re:Определить диапазон страницы
|
: 31.01.2024, 15:26:27
|
Вы опять меня немножечко не поняли. Документ УЖЕ разбит на страницы, пользователь определяет с какими страницами будут произведены действия, например 1 и 4. После чего эти страницы и должны быть очищены. А PageSetup я использую, когда мне надо оформить страницы на листе. И ещё, дело в том что страницы имеют разную высоту, поэтому мне и необходимо определить начало и конец нужных страниц. Т Интернете гуглил, но ничего подобного, к сожалению не нашёл. Потому и обратился на форум... Извините, возможно я несколько сумбурно всё объяснил, вследствие чего и возникло недопонимание...
|
|
|
2
|
Основные форумы / Вопросы по Excel и VBA / Re:Определить диапазон страницы
|
: 30.01.2024, 18:06:26
|
Понял, уточняю. Есть документ, уже разбитый на страницы для печати, не мной. В этот документ нужно внести некие изменения, для чего требуется очистка части страниц. Полностью, т.е. данные, границы (в смысле границы ячеек), форматирование и т.д., это то как раз не проблема. Проблема в том, как определить области очистки... Вроде уточнил.
|
|
|
3
|
Основные форумы / Вопросы по Excel и VBA / Определить диапазон страницы
|
: 28.01.2024, 12:22:39
|
Здравствуйте уважаемые гуру VBA. Столкнулся с тем, что необходимо определить диапазон страницы. Не листа, а именно страницы, вне зависимости от наличия или отсутствия информации в первой и последней ячейках. Дело в том, что в процессе работы с Excel необходимо очистить именно страницу (!). Причём полностью: всю информацию и границы. Заранее благодарен всем откликнувшимся!
|
|
|
5
|
Основные форумы / Вопросы по Excel и VBA / Re:Замена текста в ячейке и во всей книге
|
: 30.11.2023, 19:10:51
|
Правда, если надо менять или искать только в одной ячейке - то смысла в методе Replace объекта Range нет, т.к. здесь проще использовать функцию VBA: Код: (vb) view plaincopy to clipboardprint? Cells(N_Row, 4).Value = replace(Cells(N_Row, 4).value," ","") Проверил, работает, спасибо огромное!!!
|
|
|
8
|
Основные форумы / Вопросы по Excel и VBA / Замена текста в ячейке и во всей книге
|
: 28.11.2023, 17:09:41
|
Давненько не заходил на форум, но возникла проблемка. Вначале было слово возникла необходимость заменить один символ на другой во всей книге. Заменил, всё хорошо. Но, после этого возникли непонятки: из макроса меняю символ в конкретной ячейке, в результате этот символ меняется во всей книге. Сначала я был в шоке (мягко говоря), потом вроде разобрался - всё дело дело было в том, что замена, по комбинации <Ctrl+H>, в ней осталось "во всей книге" (См.рисунок) Команда замены в конкретной ячейке Cells(N_Row, 4).Replace " ", "" И в результате удаление пробелов во всей книге... Так вот вопрос: можно ли как-то программно отключить/переключить поиск и замену во всей книге/на листе?
|
|
|
9
|
Основные форумы / Вопросы по Excel и VBA / Странное поведение combobox
|
: 26.03.2023, 15:12:49
|
И снова здравствуйте, уважаемые гуру VBA! Столкнулся со странным, скажем так, поведением combobox на пользовательской форме. При инициализации формы устанавливаю курсор на combobox, и с ним же использую метод DropDown, дабы список разворачивался сразу при вызове формы. Он таки разворачивается, но за пределами формы. Как говорится "Звезда в шоке" Вот код: 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
' Установка курсора в комбобокс CMB_ORG CmB_Org.SetFocus
End Sub
Private Sub CmB_Org_Enter()
CmB_Org.DropDown
End Sub Я даже не знаю, как сформулировать вопрос. То ли это странный глюк Excel, то ли мои "шаловливые ручки", то ли недостойное поведение представителя славного семейства CONTROL? Прошу прощения за низкое качество изображения, пришлось ужать его до безобразия, что бы соответсвовать требованиям форума.
|
|
|
11
|
Основные форумы / Вопросы по Excel и VBA / Отследить копирование листа внутри книги
|
: 11.03.2023, 17:38:50
|
И снова здравствуйте, уважаемые знатоки! При разработке простенькой программки возник вопрос: пользователь может скопировать лист для собственных нужд. Ну, например, повторяющаяся из месяца в месяц таблица. Возможно ли отследить событие копирования листа или, как вариант переименование листа? Это необходимо для изменения надписи в таблице. Решение с кнопкой "Скопировать лист" - отпадает по причине пользователя
|
|
|
12
|
Основные форумы / Вопросы по Excel и VBA / Re:Проблема с модулем класса
|
: 17.02.2023, 09:50:12
|
Спасибо всем, проблема, похоже, решена. Мне ведь, собственно, нужны были только 2 комбобокса... Вот сам модуль класса: 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 И вызов: 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 И объявление массивов: 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 =... А ведь на компах крутится десяток моих макросов, практически все с пользовательскими формами. Ума не приложу, что делать...
|
|
|
14
|
Основные форумы / Вопросы по Excel и VBA / Проблема с модулем класса
|
: 16.02.2023, 12:33:30
|
Здравствуйте, уважаемые знатоки VBA. Давненько не захаживал на форум, но вот случилась такая оказия: написал модуль класса (2 штуки), один работает на "УРА", а вот со вторым проблема. Вот первый: 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
Вот его вызов: 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 А вот второй, который не желает работать: 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
И, соответственно, его вызов: 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, в отдельном модуле: Public PAO_Lbls(1 To 34) As New CLSM_Labels ' Массив LABEL`ов Public PAO_Ctrl(1 To 40) As New CLSM_Controls ' Массив CONTROL`ов
Где накосячил - никак не пойму. Очень прошу ткнуть меня в нужном направлении, дабы понять кто, где, кого...
|
|
|
|
|