Ich erstellte eine ActiveX-Schaltfläche für einen Tracker Ich wurde mit dem Bau bei der Arbeit beauftragt, ActiveX-Taste funktionierte großartig, aber da waren endlose Kompatibilität und Erlaubnisprobleme, als ich es aussandte. Beschlossen, es stattdessen zu einer Makro-fähigen Form zu machen. Es sollte eine einfache Schaltfläche sein, die, wenn Sie darauf klicken, die aktuelle Uhrzeit und das Datum in die aktive Zelle eingibt. Das funktioniert, das Problem ist, dass es nicht mehr so schwebt, wie ich es hatte, als es eine Activex-Taste war, es folgt nicht der aktiven Zelle auf der Seite. Auch - da es nicht activex ist, simuliert es nicht einen Knopfklick, den ich versuchte zu kodieren, und alles sieht richtig aus, aber es gibt keine Depression, wenn ich darauf klicke. Hier ist, was ich bisher habe.Ich habe eine Schaltfläche in Excel, die als ActiveX-Steuerelement funktionierte, musste in Form wechseln, jetzt funktioniert es nicht 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
Haben Sie die Möglichkeit, eine Formularschaltfläche auf der Seite zu platzieren? Gehen Sie zum Einfügen auf der Registerkarte Entwickler und wählen Sie die Schaltfläche Formular anstelle von Activex. Klicken Sie mit der rechten Maustaste auf die Schaltfläche, um die Eigenschaften festzulegen, und Sie können festlegen, ob sie sich mit Zellen bewegen soll oder nicht. Und Sie können mit der rechten Maustaste klicken, um ein Sub auszuwählen, wenn darauf geklickt wird. –
Ich habe das versucht, aber es hat nicht funktioniert, Das Team, das ich getroffen habe, um die Empfehlung für eine Makro-fähige Form zu erhalten, sagte, dass viele der gleichen Probleme verursachen können, die ich mit der activex-Schaltfläche hatte. Unabhängig davon würde ich gerne wissen, wie das funktioniert für die Makro-fähigen Formen, einschließlich der oberen Teil des Codes, die die Schaltfläche eine gedrückte Schaltfläche zeigen sollte, wenn Sie darauf klicken – Cdhippen
Ich möchte ein Popup mit der rechten Maustaste verwenden Menü, um spezielle Funktionen zu starten. Ron DeBruin hat dafür eine hervorragende Codequelle. http://www.rondebruin.nl/win/s6/win002.htm Sie fügen Ihre Funktion dem regulären Recht-Klick-Pop-up-Menü hinzu, beschriften Sie etwas wie "Datum einfügen" - dann klicken Sie mit der rechten Maustaste auf eine Zelle und Ihre Label wird auf dem Pop-up sein. Der einzige Nachteil ist, dass Sie sicherstellen müssen, dass die Arbeitsmappe sie beim Schließen entfernt. Ein einfacher onClose-Code wird das tun. –