在使用Range()时得到“Expected =”。Replace()

我试图创build一个dynamic工作簿,其中有两个工作簿:一个包含我的VB代码,另一个包含工作表。

当他们下拉区域时,它将根据区域更新值,然后更新剩余的单元格。

Sub Retrieve_Sales() Dim OldRegin As String // Range [support_NP_E10_T12_CP1a_T12-Regions.xlsx]Region 1'!$B$2 Dim NewRegion As String // drop down with Regions 1 - Regions 20 OldRegion = Range("F2").Select NewRegion = Range("C4").Select Application.StatusBar = "Retrieing data on" & NewRegion Application.ScreenUpdating = False Range("F2").Replace(OldRegion, NewRegion) End Sub 

我一直在收到Expected = 。 我想把它包装成一个variables?

你可能有几个问题。

首先,对于Expected =消息,将.Replace行更改为:

 Range("F2").Replace OldRegion, NewRegion 

有关更多详细信息,请参阅此处的答案: https : //stackoverflow.com/a/15519085/2258

另外,我希望你想要。 Range.Value ,而不是.Select

 OldRegion = Range("F2").Value NewRegion = Range("C4").Value