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

Вход

Регистрация

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

 

= Мир MS Excel/Объединение двух макросов в один - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объединение двух макросов в один (Макросы/Sub)
Объединение двух макросов в один
bosika Дата: Суббота, 05.06.2021, 09:09 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010, 2013, 2016
Приветствую Вас ГУРУ. С очередной проблемой обращаюсь к Вам в очередной раз для помощи в решении проблемы. Не могу объединить два макроса для увеличения шрифта и поиск по любому вхождению в ячейке столбца С на листе Донесение с выбором данных из списка с листа Имущество (Ошибка компиляции).
К сообщению приложен файл: ____.xls(125.0 Kb)


Начинающий. Много и долго не пинать. Больно однако.
 
Ответить
СообщениеПриветствую Вас ГУРУ. С очередной проблемой обращаюсь к Вам в очередной раз для помощи в решении проблемы. Не могу объединить два макроса для увеличения шрифта и поиск по любому вхождению в ячейке столбца С на листе Донесение с выбором данных из списка с листа Имущество (Ошибка компиляции).

Автор - bosika
Дата добавления - 05.06.2021 в 09:09
gling Дата: Суббота, 05.06.2021, 17:12 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2268
Репутация: 586 ±
Замечаний: 0% ±

2010
Здравствуйте.
У вас два Worksheet_SelectionChange на одном листе. Переместите всё в одну процедуру. Последний, на который ругается, удалите. Типа так[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
Select Case Target.Column
    Case 3
        If Target.Row > 1 Then
            bu = True
            With Me.TextBox1
                .Top = Target.Top: .Left = Target.Left: .Text = Target.Value: .Activate
            End With
            With Me.ListBox1
                .Top = Target.Top - 5: .Left = Target.Left + 143: .Clear
            End With
            cl = IIf(Target.Column = 3): bu = False
            Me.TextBox1.Visible = True: Me.ListBox1.Visible = True
        End If
    Case Else
        Me.TextBox1.Visible = False: Me.ListBox1.Visible = False
End Select
    On Error GoTo LZoom
    Dim xZoom As Long
    xZoom = 100
    If Target.Validation.Type = xlValidateList Then xZoom = 130    'xZoom = 130 - 130 размер шрифта
LZoom:
    ActiveWindow.Zoom = xZoom

End Sub
[/vba]


ЯД-41001506838083

Сообщение отредактировал gling - Суббота, 05.06.2021, 17:17
 
Ответить
СообщениеЗдравствуйте.
У вас два Worksheet_SelectionChange на одном листе. Переместите всё в одну процедуру. Последний, на который ругается, удалите. Типа так[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
Select Case Target.Column
    Case 3
        If Target.Row > 1 Then
            bu = True
            With Me.TextBox1
                .Top = Target.Top: .Left = Target.Left: .Text = Target.Value: .Activate
            End With
            With Me.ListBox1
                .Top = Target.Top - 5: .Left = Target.Left + 143: .Clear
            End With
            cl = IIf(Target.Column = 3): bu = False
            Me.TextBox1.Visible = True: Me.ListBox1.Visible = True
        End If
    Case Else
        Me.TextBox1.Visible = False: Me.ListBox1.Visible = False
End Select
    On Error GoTo LZoom
    Dim xZoom As Long
    xZoom = 100
    If Target.Validation.Type = xlValidateList Then xZoom = 130    'xZoom = 130 - 130 размер шрифта
LZoom:
    ActiveWindow.Zoom = xZoom

End Sub
[/vba]

Автор - gling
Дата добавления - 05.06.2021 в 17:12
bosika Дата: Воскресенье, 06.06.2021, 06:39 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010, 2013, 2016
gling, Спасибо. Теперь ругается на 7 строку With Me.TextBox1.
К сообщению приложен файл: 3864671.xls(134.5 Kb)


Начинающий. Много и долго не пинать. Больно однако.

Сообщение отредактировал bosika - Воскресенье, 06.06.2021, 08:57
 
Ответить
Сообщениеgling, Спасибо. Теперь ругается на 7 строку With Me.TextBox1.

Автор - bosika
Дата добавления - 06.06.2021 в 06:39
RAN Дата: Воскресенье, 06.06.2021, 09:25 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5429
Репутация: 1084 ±
Замечаний: 0% ±

2010
Теперь ругается на 7 строку With Me.TextBox1.

А почему бы и нет? Для того, чтобы код формы работал, нужно, как минимум, иметь эту самую форму.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Теперь ругается на 7 строку With Me.TextBox1.

А почему бы и нет? Для того, чтобы код формы работал, нужно, как минимум, иметь эту самую форму.

Автор - RAN
Дата добавления - 06.06.2021 в 09:25
bosika Дата: Понедельник, 07.06.2021, 07:18 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010, 2013, 2016
RAN, Макрос по поиску по любому вхождению я использую еще в одном файле, форму никакую не требует. Но конечно просмотрю тот файл, откуда его взял. Спасибо за подсказку.


Начинающий. Много и долго не пинать. Больно однако.
 
Ответить
Сообщение RAN, Макрос по поиску по любому вхождению я использую еще в одном файле, форму никакую не требует. Но конечно просмотрю тот файл, откуда его взял. Спасибо за подсказку.

Автор - bosika
Дата добавления - 07.06.2021 в 07:18
RAN Дата: Понедельник, 07.06.2021, 12:48 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5429
Репутация: 1084 ±
Замечаний: 0% ±

2010
Извиняюсь, погорячился.
Запись вида
[vba]
Код
With Me.TextBox1
[/vba]
может использоваться как в форме, так и в модуле листа.
Но тогда TextBox1 и ListBox1 должны присутствовать на листе.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИзвиняюсь, погорячился.
Запись вида
[vba]
Код
With Me.TextBox1
[/vba]
может использоваться как в форме, так и в модуле листа.
Но тогда TextBox1 и ListBox1 должны присутствовать на листе.

Автор - RAN
Дата добавления - 07.06.2021 в 12:48
bosika Дата: Понедельник, 07.06.2021, 13:36 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010, 2013, 2016
RAN, Да, в файле с которого я этот код брал, именно так и есть, все на одном листе. А как объяснить что происходит с кодом в этом файле, где на разных листах. Файл прилагаю.
К сообщению приложен файл: 1388326.xls(108.5 Kb)


Начинающий. Много и долго не пинать. Больно однако.
 
Ответить
СообщениеRAN, Да, в файле с которого я этот код брал, именно так и есть, все на одном листе. А как объяснить что происходит с кодом в этом файле, где на разных листах. Файл прилагаю.

Автор - bosika
Дата добавления - 07.06.2021 в 13:36
RAN Дата: Понедельник, 07.06.2021, 14:18 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5429
Репутация: 1084 ±
Замечаний: 0% ±

2010
объяснить что происходит с кодом в этом файле

Объясняю - работает.
Но там, во первых, есть и TextBox1, и ListBox1, а, во вторых, там шаловливые ручки код не коверкали.
Не знаю, откуда это выросло,
[vba]
Код
cl = IIf(Target.Column = 3)
[/vba]
но работать это точно не будет. От слов совсем, никогда и нигде.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
объяснить что происходит с кодом в этом файле

Объясняю - работает.
Но там, во первых, есть и TextBox1, и ListBox1, а, во вторых, там шаловливые ручки код не коверкали.
Не знаю, откуда это выросло,
[vba]
Код
cl = IIf(Target.Column = 3)
[/vba]
но работать это точно не будет. От слов совсем, никогда и нигде.

Автор - RAN
Дата добавления - 07.06.2021 в 14:18
bosika Дата: Среда, 09.06.2021, 09:56 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010, 2013, 2016
Всем большое спасибо. Тему можно закрывать. До истины докопался.


Начинающий. Много и долго не пинать. Больно однако.
 
Ответить
СообщениеВсем большое спасибо. Тему можно закрывать. До истины докопался.

Автор - bosika
Дата добавления - 09.06.2021 в 09:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Объединение двух макросов в один (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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