我想在Excel VBA中插入一個公式到一列單元格中的程序。此公式根據單元格的內容直接向左改變。 這是迄今爲止我所編寫的代碼:我可以在字符串中插入一個變量嗎?
Sub Formula()
Dim colvar As Integer
colvar = 1
Dim Name As String
Name = "Sample, J."
Do While colvar <= 26
colvar = colvar + 1
Name = Range("B" & colvar).Value
Range("C" & colvar).Value = "='" & Name & "'!N18"
Loop
End Sub
正如你所看到的,我想插入公式字符串之間的變量Name
,但Excel中拒絕運行的代碼,給我一個「應用程序定義或對象定義的錯誤。「
有沒有辦法解決這個問題?
a)您將不得不提供導致錯誤的'Range(「B」&colvar).Value「中的值。 b)下一行應該是'Range(「C」&colvar).FORMULA =「='」&Name&「'!N18」'。 – Jeeped
最有可能的是,當您看到錯誤時,「Name」的內容不是有效的工作表名稱。 –
@Jeeped我還沒有看到,當**寫一個公式給一個單元格時,使用'.Formula'和'.Value'屬性有所不同。顯然它在閱讀公式時會有所作用。你有沒有發生不同結果的例子?我聽說在變體數組中可能存在非美國格式日期的問題,但我沒有測試過。 –