Excel用VBA自动将公式结果选择性粘贴到指定位置

只有http://pan.baidu.com/s/1eQAdVAM

最好解析一下

第1个回答  2015-02-09

试下这个

因为当是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


本回答被提问者采纳
第2个回答  2015-02-09
选择性粘贴有很多选项,例如值粘贴,转置等,需要的是哪种方法?
相似回答