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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос фокуса с курсора мыши на активную ячейку - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос фокуса с курсора мыши на активную ячейку (Макросы/Sub)
Перенос фокуса с курсора мыши на активную ячейку
Alex59 Дата: Вторник, 19.02.2019, 10:41 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Здравствуйте.
Помогите решить проблему (не комфортность).
Описание:
1. Есть книга с 3-мя листами:

  • лист "Таблица" - заполняется переменной информацией. Имеет ключевые поля в колонке "А"
  • лист "Выборка" - при вводе номера ключевого поля в ячейку "А1", выполняется выборка инфы из листа "Таблица" и некая ее обработка
  • лист "Бланк" - бланк документа, заполняется обработанной инфой из листа "Выборка"

2. На листе "Таблица" имеется кнопка "Печать", при нажатии мышью на которую выполняются след. действия:

  • из строки, где находится активная ячейка выбирается ключевое поле
  • присваивается ячейке А1 листа "Выборка"
  • обрабатывается инфа на листе "Выборка"
  • заполняется лист "Бланк"
  • лист "Бланк" отправляется на печать
  • возвращается на лист "Таблица"

и вот тут проблема:

  • фокус мыши расположен на кнопке "Печать" (лист "Таблица")
  • а фокус активной ячейки - где-то в недрах таблицы

Подскажите, пожалуйста, как вернуть фокус с мыши на ячейку

Процедура, привязянная к кнопке
[vba]
Код

Private Sub Out_for_Printer_Click()
    Dim i As Integer
    i = ActiveCell.Row    
    If i > 3 Then  ‘ не печатать шапку
        Application.ScreenUpdating = False
        Application.Volatile True
        Worksheets("Выборка").Cells(1, 1).Value = Worksheets("Таблица").Cells(i, 1).Value
        Worksheets("Бланк").PrintOut Copies:=1, Collate:=True
        Application.ScreenUpdating = True
    End If
    Sheets("Таблица").Select
End Sub
[/vba]

Заранее спасибо


Сообщение отредактировал Alex59 - Вторник, 19.02.2019, 12:07
 
Ответить
СообщениеЗдравствуйте.
Помогите решить проблему (не комфортность).
Описание:
1. Есть книга с 3-мя листами:

  • лист "Таблица" - заполняется переменной информацией. Имеет ключевые поля в колонке "А"
  • лист "Выборка" - при вводе номера ключевого поля в ячейку "А1", выполняется выборка инфы из листа "Таблица" и некая ее обработка
  • лист "Бланк" - бланк документа, заполняется обработанной инфой из листа "Выборка"

2. На листе "Таблица" имеется кнопка "Печать", при нажатии мышью на которую выполняются след. действия:

  • из строки, где находится активная ячейка выбирается ключевое поле
  • присваивается ячейке А1 листа "Выборка"
  • обрабатывается инфа на листе "Выборка"
  • заполняется лист "Бланк"
  • лист "Бланк" отправляется на печать
  • возвращается на лист "Таблица"

и вот тут проблема:

  • фокус мыши расположен на кнопке "Печать" (лист "Таблица")
  • а фокус активной ячейки - где-то в недрах таблицы

Подскажите, пожалуйста, как вернуть фокус с мыши на ячейку

Процедура, привязянная к кнопке
[vba]
Код

Private Sub Out_for_Printer_Click()
    Dim i As Integer
    i = ActiveCell.Row    
    If i > 3 Then  ‘ не печатать шапку
        Application.ScreenUpdating = False
        Application.Volatile True
        Worksheets("Выборка").Cells(1, 1).Value = Worksheets("Таблица").Cells(i, 1).Value
        Worksheets("Бланк").PrintOut Copies:=1, Collate:=True
        Application.ScreenUpdating = True
    End If
    Sheets("Таблица").Select
End Sub
[/vba]

Заранее спасибо

Автор - Alex59
Дата добавления - 19.02.2019 в 10:41
vikttur Дата: Вторник, 19.02.2019, 12:14 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2921
Репутация: 525 ±
Замечаний: 0% ±

[vba]
Код
     Dim r As Range

     Set r = ActiveCell
.............
     r.Select
     Set r =Nothing
End Sub
[/vba]


Сообщение отредактировал vikttur - Вторник, 19.02.2019, 12:15
 
Ответить
Сообщение[vba]
Код
     Dim r As Range

     Set r = ActiveCell
.............
     r.Select
     Set r =Nothing
End Sub
[/vba]

Автор - vikttur
Дата добавления - 19.02.2019 в 12:14
Alex59 Дата: Понедельник, 01.04.2019, 10:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Уважаемый vikttur, спасибо за помощь
 
Ответить
СообщениеУважаемый vikttur, спасибо за помощь

Автор - Alex59
Дата добавления - 01.04.2019 в 10:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос фокуса с курсора мыши на активную ячейку (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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