我正在开发一个仪表板项目,其中有三个值:最小值、最大值和当前值。最小值和最大值将是条形的端点,我想将包含当前值的文本框放置在沿条形的适当位置。见下文:
是否可以在 Excel 中执行此操作?如果可以,我将如何实现这一目标。我有一些使用 Visual Basic 的经验,但以前从未接触过这个。
最终,我尝试通过以下链接制作 Excel 版本的仪表板:
最佳答案
未选择形状对象时打开宏录制。现在选择它并更改其位置。停止录制并使用生成的代码。
当我尝试时,它看起来很有用。我得到了一些 IncrementTop 和 IncrementLeft 代码。您还可以直接使用 Top 和 Left 属性。
将 Shape 对象的名称更改为有意义的名称(在公式框左侧的地址框中)可能是一个主意,以便您的代码更具可读性。
因此,对于名为 PositionIndicator 的形状:
ActiveSheet.Shapes("PositionIndicator").Left = 250
或者
ActiveSheet.Shapes("PositionIndicator").Left = _
ActiveSheet.Shapes("PositionIndicator").Left + 5
要将其链接到单元格值,只需使用 Range("CELLADDRESS").Value2
要在每次更改单元格值时应用它,请使用:
Private Sub Worksheet_Change(ByVal Target As Range)
'Here your script to check if the change concerns one of your input cells and then run the code to change the location of the Shape-object
End Sub
祝你好运
关于excel - 是否可以动态控制Excel 2007中文本框的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15501106/