用于确定单元格是否包含特定公式的if语句
我正在编写一个程序,将复制我的整个工作簿,并将其粘贴到一个新的工作簿。
但是我为它复制的每个单元格,如果单元格是一个=CIQ()
函数(里面有参数(在2之间,也许多于7))
我希望它粘贴的单元格的值(和格式,但重要性较低,我敢肯定,我可以指出这一部分),但如果该单元格不包含=CIQ()
函数,我只想做一个正常的复制和粘贴。
我真的是新来的VBA,所以我想知道什么语法是一个if语句,将确定该单元格是否是一个CIQ()
函数或不。
谢谢
下面的代码将用公式的值replace任何以=CIQ
开头的公式。
Sub RemoveCIQ() Dim rng1 As Range Set rng1 = Cells.Find("=CIQ", , xlFormulas, xlPart) Do While Not rng1 Is Nothing rng1.Value = rng1.Value Set rng1 = Cells.Find("=CIQ", , xlFormulas, xlPart) Loop End Sub
在循环遍历每个单元格时,可以检查公式是否开始“= CIQ”
If Left(ActiveSheet.Cells(i, j).Formula, 4) = "=CIQ" Then 'Copy value and formatting End If
我还build议,如果它可以满足您的需求,而不是将每个工作表/单元复制到新的工作簿中,请复制工作簿,然后使用查找来将所有CIQ公式replace为值。 这也可以在VBA中完成: