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