Я создал кнопку activex для трекера. Мне было поручено построить на работе, кнопка activex отлично работала, но там были бесконечные проблемы совместимости и разрешения, когда я его отправил. Решил сделать вместо него макрос. Предполагается, что это простая кнопка, которая при нажатии на нее вводит текущее время и дату в активную ячейку. Это работает, проблема в том, что он больше не плавает, как у меня, когда он был кнопкой activex, он не следует за активной ячейкой на странице. Кроме того, поскольку он неактивен, он не моделирует нажатие кнопки, которую я пытался ввести в код, и все, что выглядит, но нет депрессии, когда я нажимаю на нее. Вот что я до сих пор.Получил кнопку в Excel, которая работала как элемент управления ActiveX, пришлось переключиться на фигуру, теперь она не работает 100%
Sub RectangleRoundedCorners1()
Dim vTopType As Variant
Dim iTopInset As Integer
Dim iTopDepth As Integer
With ActiveSheet.Shapes(Application.Caller).ThreeD
vTopType = .BevelTopType
iTopInset = .BevelTopInset
iTopDepth = .BevelTopDepth
End With
With ActiveSheet.Shapes(Application.Caller).ThreeD
.BevelTopType = msoBevelSoftRound
.BevelTopInset = 12
.BevelTopDepth = 4
End With
Application.ScreenUpdating = True
With ActiveSheet.Shapes(Application.Caller).ThreeD
.BevelTopType = vTopType
.BevelTopInset = iTopInset
.BevelTopDepth = iTopDepth
End With
End Sub
Sub RectangleRoundedCorners1_Click()
ActiveCell.Value = Now()
ActiveCell.NumberFormat = "MM/DD/YY hh:mm:ss"
End Sub
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
With Cells(Windows(1).ScrollRow, Windows(1).ScrollColumn)
RectangleRoundedCorners1.Top = .Top + 10
RectangleRoundedCorners1.Left = .Left + 825
End With
End Sub
У вас есть возможность установить форму на странице? Перейдите на вкладку разработчика и нажмите кнопку формы вместо кнопки activex. Щелкните правой кнопкой мыши, чтобы установить свойства, и вы можете позволить ему перемещаться с ячейками или нет. И вы можете щелкнуть правой кнопкой мыши, чтобы выбрать суб, когда он щелкнут. –
Я пробовал это, но это не работало. Команда, в которой я попала, чтобы получить рекомендацию для формы с поддержкой макроса, говорит, что может вызвать множество тех же проблем, с которыми я столкнулся с кнопкой activex. Независимо от того, я хотел бы знать, как заставить эту работу работать с макросами, включая верхнюю часть кода, которая должна позволить кнопке показывать нажатую кнопку при нажатии – Cdhippen
Мне нравится использовать всплывающее окно правой кнопки мыши для запуска специальных функций. У Ron DeBruin есть отличный источник кода для этого. http://www.rondebruin.nl/win/s6/win002.htm. Вы добавляете свою функцию в обычное контекстное меню правой кнопкой мыши, назовите ее как «Вставить дату», затем щелкните правой кнопкой мыши по любой ячейке и ярлык появится во всплывающем окне. Единственным недостатком является то, что вы должны убедиться, что рабочая книга удаляет его при закрытии. Простой код onClose сделает это. –