我试图把一个公式插入我的表。
我上线cells(2,i).formulaR1C1
虽然我已经记录了这个公式的工作,并把与记录错误1004。
“克利夫斯1”至“5克利夫斯”是表中的标题。为了测试此代码创建一个标题表中调用克利夫斯1至5克里夫斯。
Sub formula()
Dim i As Long, ce As String
For i = 1 To 10
ce = CStr(Cells(1, i).Value)
Cells(2, i).FormulaR1C1 = "=IF(OR(MID([@[CLEVES 1]],1,2)=""" & ce & """,MID([@[CLEVES 2]],1,2)=""" & ce & """,MID([@[CLEVES 3]],1,2)=""" & ce & """,MID([@[CLEVES 4]],1,2)=""" & ce & """,MID([@[CLEVES 5]],1,2)=""" & ce & """),& ce &,"""")"
Next
End Sub
您需要设置工作表名称代入公式
= IF(OR(MID([”&SHEETNAME& “!@ [克利夫斯1]],1,2)=” “”
例如。
我做了Sheet2的桌子,这工作确定:
Sub formula()
Dim i As Long
Dim ce As String
Dim formulaString As String
Dim ws As Worksheet
Dim sheetName As String
Set ws = Sheets("sheet2")
sheetName = "Sheet2"
For i = 7 To 17
ce = CStr(Cells(1, i).Value)
formulaString = Cells(2, i).FormulaR1C1 = "=IF(OR(MID([" & sheetName & "!@[CLEVES 1]],1,2)=""" _
& ce & """,MID([" & sheetName & "!@[CLEVES 2]],1,2)=""" & ce & """,MID([" & sheetName & "!@[CLEVES 3]],1,2)=""" _
& ce & """,MID([" & sheetName & "!@[CLEVES 4]],1,2)=""" & ce & """,MID([" & sheetName & "!@[CLEVES 5]],1,2)=""" & ce & """),& ce &,"""")"
ws.Cells(2, i).FormulaR1C1 = formulaString
Next
End Sub