试下这个
因为当是1的时候,没有点那个按钮,所以不能自动生成
需要点了下,再点上才可以自动
有个疑问B1为何一定要用按钮控制,如何将B1直接输入数字也可运行结果
追答这不是你用的吗?按钮控制同时也是激活VBA的命令关键,如果直接输入数字的话,也可以做到
要修改,但是如果不小心输错,比方输入4了,或者其他不是你想要的,那要怎么处理
你那个方法基本可行但有小问题
1,将B1改成可以直接输入数字
2,HD73至HW73每行输出20个数字不足就为空格但你只输出每行8个明显有错
哦
第二个问题改下就可以了
Sub Macro1()
Dim a As Integer
If IsNumeric(Application.Match(Sheet7.Range("b1"), Sheet7.Range("HC74:HC86"), 0)) Then
a = Application.Match(Sheet7.Range("b1"), Sheet7.Range("HC74:HC86"), 0)
Range("HD73:HW73").Select
Selection.Copy
Range("HD" & 73 + a).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Else
MsgBox "超出范围"
End If
End Sub
第一个问题的话,你确定需要的话,我下午帮你看看
第一个问题也不知道如何改请指导
追答ALT+F11
把下面这一段加进SHEET7里面
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Call Macro1
End If
End Sub