excel - 是否可以动态控制Excel 2007中文本框的位置

标签 excel excel-2007 vba

我正在开发一个仪表板项目,其中有三个值:最小值、最大值和当前值。最小值和最大值将是条形的端点,我想将包含当前值的文本框放置在沿条形的适当位置。见下文:

是否可以在 Excel 中执行此操作?如果可以,我将如何实现这一目标。我有一些使用 Visual Basic 的经验,但以前从未接触过这个。

enter image description here

最终,我尝试通过以下链接制作 Excel 版本的仪表板:

Link to Dashboard

最佳答案

未选择形状对象时打开宏录制。现在选择它并更改其位置。停止录制并使用生成的代码。

当我尝试时,它看起来很有用。我得到了一些 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/

相关文章:

mysql - 如何将 Excel 或 CSV 文件中的多个空格转换为段落?

excel - 为什么带参数的类的方法需要 "Call"关键字?

vba - 错误: Paste method of worksheet class failed

excel - 无法更新 EXCEL VBA 中的 ADO 记录集

excel - 将代码从 Excel 宏转换为 PowerShell

VBA:如何通过函数更改另一个单元格的值?

excel - 防止关闭时保存更改对话框

python - 我可以以编程方式将 matplotlib 图形插入 Excel 吗?

excel - 在 "."分隔符的最后(或第四次)出现处拆分字符串

vba - 让用户单击单元格作为使用 VBA 的 Excel InputBox 的输入