gpt4 book ai didi

工作表中的 VBA ActiveX 标签

转载 作者:行者123 更新时间:2023-12-04 20:10:39 25 4
gpt4 key购买 nike

我想在 Excel 中有一个 ActiveX 标签,其中的值对应于 Range("F4") 中的值,因为它会更新。它不在表格中(标签上的很多信息都在表格上),而只是在常规工作表上。我怎样才能做到这一点?

我一直在使用它为宏分配标签,但它不起作用:

Sub CurrentPoints()
Worksheets("Sheet1").Label1.Value = Range("F4").Value
End Sub

必要的计算已经完成并正确显示在单元格 F4 中。

谢谢!

最佳答案

我更喜欢定义和Set我的代码中的所有对象。

一、设置Worksheets("Sheet1")Sht对象(类型 Worksheet )。

二、设置Label1 Active-X为MyLbl , 对象(类型 OLEObject )。

最后,更改CaptionMyLbl目的。

代码

Option Explicit

Sub CurrentPoints()

Dim Sht As Worksheet
Dim MyLbl As OLEObject

' set the worksheet object
Set Sht = ThisWorkbook.Worksheets("Sheet1")

' set the Active-X label object
Set MyLbl = Sht.OLEObjects("Label1")

' change the Caption to the value in Range "F4")
MyLbl.Object.Caption = Sht.Range("F4").Value

End Sub

编辑 1 : 客户备注后需将代码移至 Worksheet模块,并将其绑定(bind)到 Worksheet_Change事件。

修改代码
Private Sub Worksheet_Change(ByVal Target As Range)

Dim MyLbl As OLEObject

' check if the cell that was changed is "F4"
If Not Intersect(Target, Range("F4")) Is Nothing Then

' set the Active-X label object
Set MyLbl = ActiveSheet.OLEObjects("Label1")

' change the Caption to the value in Range "F4")
MyLbl.Object.Caption = Target.Value
End If

End Sub

关于工作表中的 VBA ActiveX 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49345275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com