Страницы: 1
RSS
Совмещение двух макросов в одном файле
 
Добрый вечер.Уважаемые гуру эксель, помогите пожалуйста соединить два макроса в один. Пожалуйста. Заранее спасибо откликнувшимся.
Код
Option Explicit
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  Dim b As Boolean, s As Shape
  On Error Resume Next
  b = Target.Validation.InCellDropdown
  If b Then
    For Each s In Sh.Shapes
      If s.Name Like "Drop Down*" Then
        If s.Width < 300 Then
          s.Width = 300
        End If
      End If
    Next s
  End If
End Sub


Private Sub Workbook_Open()
Dim rr As Range, rc As Range
On Error Resume Next
Application.ScreenUpdating = False
Set rr = Worksheets("Ëèñò1").Range("A1,C1,G5,C7:C14,E7:E8,G7:G9")
If rr Is Nothing Then Exit Sub
On Error GoTo 0
For Each rc In rr.Cells
    With rc
        If Len(.Value) Then
            .Hyperlinks.Add rc, "", "", (.Value), (.Value)
            With .Font
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Underline = xlUnderlineStyleNone
            End With
        End If
    End With
Next
Application.ScreenUpdating = True
End Sub
 
Цитата
Новичок_ написал:
Workbook_SheetSelectionChange
Цитата
Новичок_ написал:
Workbook_Open.
В каком случае и как макрос должен сработать? Вы смотрели что такое срабатывание макроса на события? И на открытие книги, изменение ячейки и пр.? 80 сообщений и без примера в очередной теме... По теме: что Вы хотите от совмещения макросов?
 
Первый макрос отвечает за ширину выпадающего списка, а второй - при наведении на ячейку, содержимое отображалось в примечании. Дело в том, что эти два макроса помещаются в книгу. и как их там совместить. не знаю(  
 
Они как-то мешают друг другу?
 
не срабатывают, они обое помещаются просто в книгу
 
а если поместить в модуль ЭтаКнига?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Новичок_ написал:
они обое помещаются просто в книгу
Не обе, а оба, если разговор про макросы ))
И что, если помещаются? В книге (в модулях) может быть и не два макроса, а 22, и даже 222. Проблема в чём?
 
Цитата
Новичок_ написал:
второй - при наведении на ячейку, содержимое отображалось в примечании
Точно? Проверяли?
 
Та вроде в ЭтаКнига и поместил
Во втором макросе выделяет желтым цветом If Len(.Value) Then
Код
Option Explicit
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  Dim b As Boolean, s As Shape
  On Error Resume Next
  b = Target.Validation.InCellDropdown
  If b Then
    For Each s In Sh.Shapes
      If s.Name Like "Drop Down*" Then
        If s.Width < 300 Then
          s.Width = 300
        End If
      End If
    Next s
  End If
End Sub
Option Explicit
Private Sub Workbook_Open()
Dim rr As Range, rc As Range
On Error Resume Next
Application.ScreenUpdating = False
'в строке ниже замените адреса ячеек на нужные Вам
Set rr = Worksheets("Лист1").Range("A1,C1,G5,C7:C14,E7:E8,G7:G9")
If rr Is Nothing Then Exit Sub
On Error GoTo 0
For Each rc In rr.Cells
    With rc
        If Len(.Value) Then
            .Hyperlinks.Add rc, "", "", (.Value), (.Value)
            With .Font
                .ColorIndex = xlAutomatic
                .TintAndShade = 0
                .Underline = xlUnderlineStyleNone
            End With
        End If
    End With
Next
Application.ScreenUpdating = True
End Sub
'---------------------------------------------------------------------------------------
' Author    : The_Prist(Щербаков Дмитрий)
'             WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
'             http://www.excel-vba.ru
' Purpose   : http://planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=74501
'---------------------------------------------------------------------------------------

 
Новичок_, перестаньте тупить... Какая проблема? Объясните, зачем соединять в один. Покажите это в примере.
 
Добавил
Изменено: Новичок_ - 12.11.2020 20:12:51
 
Off
Цитата
Юрий М написал:
Не обе, а оба, если разговор про макросы ))
Кондукторша падежов не знает
Sub  от Subroutine - Подпрограмма - ОБЕ!

От кель у вас эти коды не знаю да и не  интересно, но если их в модуль книги положить то они должны работать, но вот выполняют ли они то что вам нужно - это другой вопрос.
По вопросам из тем форума, личку не читаю.
 
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=124805&... - первый макрос
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=87500 - второй макрос
 
Миш, не передёргивай на английский )) Я говорю про русские названия:
Макрос - мужского рода - значит ОН.
Процедура - женского - значит ОНА.
 
vikttur,не получится совместить?((
 
Юрий М, Юр но ты ж не пишеш в 1с манере МАКРОС Рабочаякнига_СменаВабранногоЛиста()  :-) и надеюсь до этого локализация не доберется :-)
По вопросам из тем форума, личку не читаю.
 
Цитата
Новичок_ написал:
не получится совместит
Да зачем СОВМЕЩАТЬ? Каждый макрос занимается своими делами.
 
Вить, глянь свои записи - уж очень мне это напоминает нашего старого знакомого тролля.
 
Про тролля не знаю, но строка
Код
.Hyperlinks.Add rc, "", "", (.Value), (.Value)

не смотря на
Цитата
ScreenTip Optional Variant The screen tip to be displayed when the mouse pointer is paused over the hyperlink.
TextToDisplay Optional Variant The text to be displayed for the hyperlink.
не желает принимать тип Double. Вот String, тот со всем удовольствием.
 
RAN,спасибо Вам, заработало))) Также спасибо всем кто откликнулся, отдельное спасибо модераторам, что не "забанили" за название темы)). Всем хорошего вечера.
 
Название темы предложите. иначе под удаление.
 
Цитата
vikttur написал:
. иначе под удаление.
а смысл после
Цитата
Новичок_ написал:
RAN ,спасибо Вам, заработало)))
?
По вопросам из тем форума, личку не читаю.
 
А какой смысл беречь тему с непонятным названием?
 
ну разве что для для сохранения места. А так , ТС уходит с решением и его уже не интересует жива ли тема.
По вопросам из тем форума, личку не читаю.
 
БМВ,почему не интерисует?
vikttur, для примера, какую тему можно предложить?
 
Не вникал. Но, похоже, совещение здесь ни с какого боку
Страницы: 1
Наверх