Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как в макросе прописать имя листа книги? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как в макросе прописать имя листа книги? (Макросы/Sub)
Как в макросе прописать имя листа книги?
rainystaff Дата: Воскресенье, 25.07.2021, 22:04 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

2019
Добрый вечер.
Помогите пожалуйста, как в макросе прописать имя листа книги?
Чтобы только в указанном листе работал

[vba]
Код
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [I8:I18]) Is Nothing Then
With ActiveCell
If HasFormula Or VarType(.Value) = vbString Then Exit Sub
On Error Resume Next
If Target.Offset(0, 1) <> "ERR" Then .Value = .Value + 1
Cancel = Err = 0
End With
End If
End Sub
[/vba]


Сообщение отредактировал rainystaff - Воскресенье, 25.07.2021, 22:05
 
Ответить
СообщениеДобрый вечер.
Помогите пожалуйста, как в макросе прописать имя листа книги?
Чтобы только в указанном листе работал

[vba]
Код
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [I8:I18]) Is Nothing Then
With ActiveCell
If HasFormula Or VarType(.Value) = vbString Then Exit Sub
On Error Resume Next
If Target.Offset(0, 1) <> "ERR" Then .Value = .Value + 1
Cancel = Err = 0
End With
End If
End Sub
[/vba]

Автор - rainystaff
Дата добавления - 25.07.2021 в 22:04
Kuzmich Дата: Понедельник, 26.07.2021, 00:13 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
Dim iName As String
iName = ActiveCell.Parent.Name
[/vba]
 
Ответить
Сообщение[vba]
Код
Dim iName As String
iName = ActiveCell.Parent.Name
[/vba]

Автор - Kuzmich
Дата добавления - 26.07.2021 в 00:13
Gustav Дата: Понедельник, 26.07.2021, 01:52 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2701
Репутация: 1123 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
как в макросе прописать имя листа книги?

Можно еще так. В вашей событийной процедуре есть параметр Sh. Это и есть текущий лист, у которого можно вызвать его свойство .Name. К сожалению, при типе Object при наборе не будет появляться список свойств и методов после ввода точки, но свойство Name у него есть ("Видишь суслика? - Нет. - А он есть!"):
[vba]
Код
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    MsgBox Sh.Name
End Sub
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
как в макросе прописать имя листа книги?

Можно еще так. В вашей событийной процедуре есть параметр Sh. Это и есть текущий лист, у которого можно вызвать его свойство .Name. К сожалению, при типе Object при наборе не будет появляться список свойств и методов после ввода точки, но свойство Name у него есть ("Видишь суслика? - Нет. - А он есть!"):
[vba]
Код
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    MsgBox Sh.Name
End Sub
[/vba]

Автор - Gustav
Дата добавления - 26.07.2021 в 01:52
rainystaff Дата: Понедельник, 26.07.2021, 09:48 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

2019
Dim iName As String
iName = ActiveCell.Parent.Name

iName использовать вместо With? Покажите на примере пожалуйста, не совсем вас понял


Сообщение отредактировал rainystaff - Понедельник, 26.07.2021, 09:48
 
Ответить
Сообщение
Dim iName As String
iName = ActiveCell.Parent.Name

iName использовать вместо With? Покажите на примере пожалуйста, не совсем вас понял

Автор - rainystaff
Дата добавления - 26.07.2021 в 09:48
китин Дата: Понедельник, 26.07.2021, 10:37 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Покажите на примере пожалуйста

а он есть? пример?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
Покажите на примере пожалуйста

а он есть? пример?

Автор - китин
Дата добавления - 26.07.2021 в 10:37
rainystaff Дата: Понедельник, 26.07.2021, 11:25 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

2019
а он есть? пример?

Простите, когда писал тему не было такой возможности, прикрепляю пример
К сообщению приложен файл: 4895892.xlsm (15.9 Kb)
 
Ответить
Сообщение
а он есть? пример?

Простите, когда писал тему не было такой возможности, прикрепляю пример

Автор - rainystaff
Дата добавления - 26.07.2021 в 11:25
RAN Дата: Понедельник, 26.07.2021, 12:13 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Самый простой способ - поместить код в модуль листа.
Какой смысл размещения кода в модуле книги?

[vba]
Код
If Sh.Name <> "Лист1" Then Exit Sub
[/vba]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Понедельник, 26.07.2021, 12:16
 
Ответить
СообщениеСамый простой способ - поместить код в модуль листа.
Какой смысл размещения кода в модуле книги?

[vba]
Код
If Sh.Name <> "Лист1" Then Exit Sub
[/vba]

Автор - RAN
Дата добавления - 26.07.2021 в 12:13
rainystaff Дата: Понедельник, 26.07.2021, 13:06 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

2019
Самый простой способ - поместить код в модуль листа.

Не нашел информации, как в модуле реализовать правый клик по ячейке, поэтому остался только этот вариант...
Спасибо за код, все отлично работает


Сообщение отредактировал rainystaff - Понедельник, 26.07.2021, 13:08
 
Ответить
Сообщение
Самый простой способ - поместить код в модуль листа.

Не нашел информации, как в модуле реализовать правый клик по ячейке, поэтому остался только этот вариант...
Спасибо за код, все отлично работает

Автор - rainystaff
Дата добавления - 26.07.2021 в 13:06
RAN Дата: Понедельник, 26.07.2021, 14:27 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010

[vba]
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
[/vba]
К сообщению приложен файл: 0008093.png (260.1 Kb)


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Понедельник, 26.07.2021, 14:28
 
Ответить
Сообщение
[vba]
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
[/vba]

Автор - RAN
Дата добавления - 26.07.2021 в 14:27
rainystaff Дата: Понедельник, 26.07.2021, 18:50 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

2019
Спасибо
 
Ответить
СообщениеСпасибо

Автор - rainystaff
Дата добавления - 26.07.2021 в 18:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как в макросе прописать имя листа книги? (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!