EXCEL 公式写入宏

我的公式如下,要在C2用宏,插入以下公式,=IF(SUMPRODUCT((Sheet2!A:C=B2)*COLUMN(Sheet2!A:C))=0,"",IF(SUMPRODUCT((Sheet2!A:C=B2)*COLUMN(Sheet2!A:C))=1,INDEX(Sheet2!A:C,SUMPRODUCT((Sheet2!A:C=B2)*ROW(Sheet2!A:C)),2),IF(SUMPRODUCT((Sheet2!A:C=B2)*COLUMN(Sheet2!A:C))=2,INDEX(Sheet2!A:C,SUMPRODUCT((Sheet2!A:C=B2)*ROW(Sheet2!A:C)),1),IF(SUMPRODUCT((Sheet2!A:C=B2)*COLUMN(Sheet2!A:C))=3,INDEX(Sheet2!A:C,SUMPRODUCT((Sheet2!A:C=B2)*ROW(Sheet2!A:C)),1)))))手动插入是正常的,用录制宏的方式插入显示应用程序定义或对象定义错误

Sub 录制宏()
    Range("C2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(SUMPRODUCT((Sheet2!C[-2]:C=RC[-1])*COLUMN(Sheet2!C[-2]:C))=0,"""",IF(SUMPRODUCT((Sheet2!C[-2]:C=RC[-1])*COLUMN(Sheet2!C[-2]:C))=1,INDEX(Sheet2!C[-2]:C,SUMPRODUCT((Sheet2!C[-2]:C=RC[-1])*ROW(Sheet2!C[-2]:C)),2),IF(SUMPRODUCT((Sheet2!C[-2]:C=RC[-1])*COLUMN(Sheet2!C[-2]:C))=2,INDEX(Sheet2!C[-2]:C,SUMPRODUCT((Sheet2!C[-2]:C=RC[-1])*ROW(Sheet2!C[-2]:C)),1),IF(SUMPRODUCT((Sheet2!C[-2]:C=RC[-1])*COLUMN(Sheet2!C[-2]:C))=3,INDEX(Sheet2!C[-2]:C,SUMPRODUCT((Sheet2!C[-2]:C=RC[-1])*ROW(Sheet2!C[-2]:C)),1)))))"
End Sub

追问

感谢大神,我的好像是公式太长换行后公式变掉了.公式怎么在宏里面换行继续运行呢?

追答

代码的第三行和第四行本身就是一行,代码第三行末尾的_就是换行用的。

答案被网友采纳了,电脑上没有答问的窗口了。

追问

如何用汇编实现上面公式功能.现在插入这个公式太长很容易卡死.
就是有三个性质相同的东西,现在只有其中一个名字,需要把另外两个放到它后面的单元格.

追答

不明白所说的“三个性质相同的东西”指的是什么,烦请具体一些。

追问

公式的功能是从Sheet2中查找与Sheet1 B2-B65536单元格相同的单元格,如果找到的单元格在Sheet2第一列,就在E列对应单元格返回100,反之返回0

温馨提示:答案为网友推荐,仅供参考