【问题标题】:Excel VBA - position of checkbox inside of the cellExcel VBA - 单元格内复选框的位置
【发布时间】:2017-07-19 20:18:38
【问题描述】:

我无法将复选框放置在单元格的右侧。

宏将按钮添加到左上角的特定单元格,但是当我想将复选框添加到同一个单元格时,它不会转到右侧,我该怎么做?显然 Set chkbx 行中的数字 50 用于设置位置。但是我的复选框只有在我将其更改为负数时才会向左移动。但它不会向右走。我该怎么做?

Set t = ActiveSheet.Range(Cells(10, NewColumn), Cells(10, NewColumn))
Set btn = ActiveSheet.Buttons.Add(t.Left, t.Top, 0, 0)
With btn
  .OnAction = "Button_clicked"
  .Caption = "X"
  .Width = 15
  .Height = 12
  .Name = "Delete_button_" & x
End With

/这是我想要在右上角的复选框/

Set chkbx = ActiveSheet.CheckBoxes.Add(t.Left, t.Top, 50, 0)
With chkbx
    .Name = "CheckBox_" & x
    .Caption = ""
End With

【问题讨论】:

    标签: excel vba checkbox


    【解决方案1】:

    试试

    Set chkbx = ActiveSheet.CheckBoxes.Add(t.Left, t.Top, 0, 0)
    With chkbx
        .Name = "CheckBox_" & x
        .Caption = ""
        .Left = t.Left + t.Width - .Width
    End With
    

    【讨论】:

    • 好吧,现在它在中间的某个地方,我尝试更改数字、+ 和 - 等等,但没有运气,要么更多在左侧,要么完全不在单元格中,在下一个一个
    • end with之前添加声明Debug.print .Width - 复选框的宽度是多少(应该是15.75)?
    • 嗯。然后尝试使用.Left = t.Left + t.Width - 16 之类的方法并使用该数字直到合适为止。
    • 试过了,真正奇怪的是我找不到最佳数字,例如我使用 .Left = t.Left + 45 ... 它位于中间的某个位置,当我使用 .Left = t.Left + 47 时,它完全脱离了单元格
    • 我理解正确吗:您在工作表(单元格)中放置了一个按钮,并在其顶部放置了复选框?不带按钮可以试试吗?
    猜你喜欢
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 2019-03-19
    • 1970-01-01
    相关资源
    最近更新 更多