【问题标题】:Modify VBA Checkbox Script for Mac Excel Compatibility修改 Mac Excel 兼容性的 VBA 复选框脚本
【发布时间】:2016-04-25 00:14:39
【问题描述】:

我编写了一个 vba 脚本,一旦用户单击某个列的复选框,该列的数据就会填充到另一个隐藏的电子表格中。当用户取消选中该框时,数据将从隐藏电子表格的相关列中删除。我的脚本适用于 MS Excel 2010、2013,但不适用于 Mac Excel,并且将使用此文件的大多数用户都在 Mac Excel 上。我该怎么做才能使它与 Mac Excel 2011 兼容? (脚本如下。)

Private Sub columnD_Select()
'If Column D is selected...
If ActiveSheet.Shapes("Check Box 80").ControlFormat.Value = 1 Then
    Sheets("Data To Display").Range("M2:M10000").ClearContents
    Sheets("SF Data 9 Box").Range("D6:D10000").Copy
Destination:=Sheets("Data To Display").Range("M2")
Else
    Sheets("Data To Display").Range("M2:M10000").ClearContents
End If
End Sub

-卡米利

(对 MAT'S MUG 的响应 - 它们是表单控件,而不是活动的 x 控件。当我在 Windows 机器上单击它们时,数据会填充到它们各自的列中,当我取消单击框时,会清除列内容。但是,在我的 macbook pro 上,复选框表单控件不填充。我所有其他 vba 代码都执行得很好,只是复选框无法识别单击时要做什么。)

【问题讨论】:

  • “不工作”相当模糊。你面临什么确切的问题?如果您的复选框是 ActiveX 控件,我怀疑 Mac 是否完全支持。

标签: macos vba excel checkbox


【解决方案1】:

我想出了一种方法让它在 Mac Excel 2011 和 MS Word 上都能正常工作。我将复选框链接到隐藏工作表上的单元格,然后将宏直接分配给每个复选框,而不是引用复选框 ID,并进行了一些小的清理。

 Private Sub columnD_Select()
 'If Column D is selected...
 If Sheets("Checkboxes").Range("D4").Value = True Then
  Sheets("SF Data 9 Box").Range("D6:D10000").Copy Destination:=Sheets("Data To Display").Range("M2:M9996")
  Sheets("Data To Display".Range("K2:K10000").Calculate
 Else
  Sheets("Data To Display").Range("M2:M10000").ClearContents
 End If
End Sub

感谢那些试图提供帮助的人。 -卡米利

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 2016-02-13
    • 2018-03-20
    • 2015-01-26
    • 1970-01-01
    相关资源
    最近更新 更多