A1有一个列表,其中包括一年中的 12 个月
B2到M2行是月份 - 1 月到 12 月
B3,用于对B7每个月评分的分类
我想编写一个按钮来执行以下操作当我单击按钮时,我希望宏在单元格范围内的单元格
上查找月份。然后在匹配的单元格中将值更改为仅值。现在to链接到其他单元格。我希望它们只转换为值。A1B2:M2row 3row 7rows 37
例如,如果在 中选择了 1 月A1。然后宏将标识B2为一月并将值更改B3:B7为仅值。
我有这个电子表格:

输入在A1
为了简化事情,我使用了一个公式A2:=MATCH(A1,$B$2:$M$2,0)+1
然后添加了名为 的activex 按钮PressMe。
在设计模式下右键单击按钮并查看“查看代码”,我得到以下信息:
Private Sub cmdPressMe_Click()
Application.ScreenUpdating = False
Dim colNumber As Integer
colNumber = Me.Range("A2").Value
With Me.Range(Me.Cells(3, colNumber), Me.Cells(7, colNumber))
.Copy
.PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
Me.Range("A1").Select
Application.ScreenUpdating = True
End Sub
不使用剪贴板的上述替代方法如下:
Private Sub cmdPressMe_Click()
Application.ScreenUpdating = False
Dim colNumber As Integer
colNumber = Me.Range("A2").Value
Dim firstRange As Range
Set firstRange = Me.Range(Me.Cells(3, colNumber), Me.Cells(7, colNumber))
firstRange.Value = firstRange.Value
Me.Range("A1").Select
Application.ScreenUpdating = True
End Sub