我一直在試圖讓一個宏在我構建的電子表格中爲我創建一個新列。它將從列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)' –