1 / 1 / 0
Регистрация: 20.05.2013
Сообщений: 69
1

Запуск макроса при наведении на ячеку

27.03.2014, 14:04. Показов 6503. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
имется код который срабатывает при нажатии на ячейку,вопрос, как преобразовать, чтобы запускать при на наведении на ячейку, без использования mousemove типа textbox и. т.д.

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
 If Target.Cells.Count > 1 Then Exit Sub
   If Not Application.Intersect(Range("B5:B2000"), Target) Is Nothing Then
         UserForm1.Show
     End If
    
     
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2014, 14:04
Ответы с готовыми решениями:

Запуск макроса при добавлении строк
Есть лист. Разделен условно на несколько диапазонов. Например: Range(Cells(n, 2), Cells(k, 2)),...

Запуск макроса при открытии приложения
Здравствуйте. Подскажите, пожалуйста, как следует назвать макрос, чтобы он запускался при открытии...

Запуск макроса при изменении ячейки
Как сделать чтобы при изменении одной или нескольких ячеек (B2,B3,B4,B5) запускался макрос который...

Запуск макроса при открытии документа
Здравствуйте, подскажите, можно ли настроить excel так, чтобы определенный макрос автоматически...

3
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
27.03.2014, 17:33 2
Самый простой метод - этот как раз разместить поверх ячейки прозрачный Label или Image и использовать его событие MouseMove. Потому что у ячейки нет такого события.
Если хочется извращений - поищите по RangeFromPoint. Придется по системному таймеру запускать процедуру, которая будет определять положение курсора, объект под ним и т.д.
1
1 / 1 / 0
Регистрация: 20.05.2013
Сообщений: 69
14.04.2014, 12:29  [ТС] 3
тут вот попытался объединить но из за цикла получается жесткий глюк))

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Sub a2()
On Error Resume Next
Dim rngMyRange1 As String
    
    rngMyRange1 = Worksheets("Ðåçóëüòàòûô").Range("H3").Value
    
    Range(rngMyRange1).Select
    
    'Application.Goto Reference:=rngMyRange
    'using a range argument
    '(could use a named range)
End Sub
 
 
Dim DoStop As Boolean
 
 
Sub RunRangeFromPoint()
'On Error Resume Next
  Dim obj As Object, NewValue As String
  Dim cpos As POINTAPI
  With ActiveWindow
    Do
      GetCursorPos cpos
      Set obj = .RangeFromPoint(cpos.x, cpos.y)
      With Ëèñò30.[H1]
        If .Value <> TypeName(obj) Then .Value = TypeName(obj)
      End With
      With Ëèñò30.[h2]
        Select Case TypeName(obj)
          Case "Range":   NewValue = obj.Address(0, 0)
          Case "Nothing": NewValue = "Nothing"
          Case Else:      NewValue = obj.name
        End Select
        If .Value <> NewValue Then .Value = NewValue
        
        Range("H2").Select
    selection.Copy
    Range("H3").Select
    ActiveSheet.Paste
     Call a2
     
       End With
      DoEvents
    Loop Until UserForm1.Visible = True 'DoStop
    
  End With
  With Ëèñò30
    .[h2].Value = ""
    .[H1].Value = "Stop"
  End With
  Set obj = Nothing
   
  
     
 
End Sub
 
Sub StartStop()
  DoStop = Not DoStop
  DoEvents
  If DoStop = False Then RunRangeFromPoint
End Sub
Добавлено через 36 секунд
Может есть какието варианты оптимизации такого чуда?
0
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 449
14.04.2014, 17:19 4
Изучите расширение событий листа, описанное в теме: Профессиональные проблемы, решения, рекомендации и ошибки

Visual Basic
1
2
3
4
Public Sub Worksheet_MouseMove(ByVal Target As Range)
End Sub 
Public Sub Worksheet_MouseScroll(Old_ScrollColumn&, Old_ScrollRow&)
End Sub
Если что будет не так - пишите, разберемся.
0
14.04.2014, 17:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2014, 17:19
Помогаю со студенческими работами здесь

Запуск макроса при открытии документа
Добрый день! В VBA еще новичок, поэтому буду говорить, как мне подсказали, если что исправьте. ...

Запуск макроса при открытииопределенного файла
Приветствую всех. Вопрос в следующем. Есть файлы с разным названием и разным содержимым:...

Запуск макроса при изменении ячейки
Как сделать, чтобы при изменении значения ячейки, запускался нужный макрос?

Почему не работает? запуск при наведении курсора и остановка при потере фокуса курсором
Почему не работает? &lt;script type=&quot;text/javascript&quot;&gt; window.onload = function(){ function...

Запуск макроса из макроса ИЛИ повторение одного и того же кода
Excel Есть код в 10 строк (назовем его &quot;блок&quot;), который повторяется 5 раз в модуле (макросе)....

Автоматический запуск макроса при открытии книги?
Есть книга Книга1.xls и есть форма Form1? встроенная в эту книгу. Как сделать так, чтобы при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru