我一直在试图让一个宏在我构建的电子表格中为我创建一个新列。它将从列K
中选择是或否,并根据是或否来使用待定或管道填充新列。Excel中的IF语句VBA
下面是我一直使用的代码 - 但这恰恰标志着一切,管道:
Dim KR As Long
KR = ActiveSheet.Range("K" & Rows.Count).End(xlUp).Row
Range("M1").EntireColumn.Insert
Range("M1").Select
ActiveCell.FormulaR1C1 = "Status"
If Range("K2").Value = "No" Then
Range("M2").Value = "Pipeline"
ElseIf Range("K2").Value = "Yes" Then
Range("M2").Value = "Pending"
End If
Range("M2").Copy Destination:=Range("M3:M" & KR)
我在哪里了问题呢?
嗨, 本来我尝试了以下,但我得到一个编译“No”上的错误: Range(“M2”)。FormulaR1C1 =“= IF(K2 =”No“,”Pipeline“,”Pending“)”' 'Range(“M2”)。 :=范围(“M3:M”&KR)' –
哦,您只需要使用引号转义引号内的引号: '范围(“M2”)。值=“= IF(K2 =”“否”“”“管道”“”,“”待定“”)“' – JBiserkov
非常感谢你 - 这个公式现在已被识别,但我遇到了另一个问题:将公式中的单元格保留为K2不会将其链接到表格中的K2。 我已经在宏中使用以下代码连接了一个月份公式,但我忘记了RC [-1]的来源。 'Dim MR As Long' 'MR = ActiveSheet.Range(“C”&Rows.Count).End(xlUp).Row' 'Range(“D2”)。FormulaR1C1 =“= TEXT(RC [ 1“,”“mmmm”“)”' '范围(“D2”)复制目标:=范围(“D3:D”&MR)' –