我正在尝试创建一个宏,允许用户选择一列并将该列的功能扩展到工作表的其他区域。不过,我无法理解如何进行这项工作。该例程的基本逻辑是:
(1) Ask user to select column of interest
(2) Listen for cell click event
(3) Extract the features of the column chosen by the user
(4) Apply relevant features in area of the worksheet where the cell was active at the beginning of the macro
Excel 是否能够在这样的函数中“监听”事件?如果是这样,它将如何实施?谢谢。
更新
我的目标是创建一个可以在任何文件中使用的宏。宏的目的是向表中添加一个附加列,其中包含可用于检查表中项目的复选框。唯一让我失望的是在某些情况下,一个表可能包含彼此不同的合并列。例如:
C1 C2
1 A
1 B
2 A
在 Excel 中,上表可能合并了单元格 A1 和 B1。我希望用户能够灵活地确定是否需要两个复选框(将复选框与第 1 列关联)或三个复选框(将复选框与第 2 列关联)。因此,当宏运行时,我希望提示用户选择其中一列,然后将在该列中观察到的合并放在 C3 中。然后在 C3 中,我将在与表格关联的每个单元格中插入一个复选框。
如果知道要复制哪一列以及距表末尾有多少列,则下面的代码将执行列合并复制/粘贴部分。因为我想在各种表上使用这个宏,所以我需要对其进行调整以动态工作。
Sub copyMerges(sourceArea As Range, colOffset As Long)
Dim row, col As Long
Dim c, c2 As Range
col = 1
For row = 1 To sourceArea.Rows.Count
Set c = sourceArea.cells(row, col)
If c.MergeArea.cells.Count > 1 Then
Set c2 = c.Offset(0, colOffset)
If c2.MergeArea.cells.Count = 1 Then
c2.Resize(c.MergeArea.Rows.Count, 1).Merge
End If
End If
Next col
End Sub