VBA参考从存储在arrays中的表格中获取,用于在不同表格中select单元格

在一个工作表中,我已经存储了列C中的单元格地址和列B中的公式以及列A中的工作表名称的引用。我find了修改公式的方法,现在我想使用列C中的单元格地址来replace公式我修剪在B列在不同的地址给出的地址,使用A列给出的图纸参考名称。因此,如果A1说奥地利,B1有公式Sum(A1:D1),C1有单元格参考A345,我想能在奥地利的A345中贴B1。

这里是代码,它停止使用单元格引用来引用特定工作表中的单元格。 出于某种原因,VBA不喜欢我这样做的事实。 我一直在研究,既然我是初学者,我不知道该怎么做。 你的帮助将不胜感激。 如果您在尝试解释时可以对代码进行更改,我将不胜感激。

Private Sub CommandButton1_Click() Dim arr() As Variant Dim puff As String Dim puff1 As String Dim n As Long Dim i As Long Dim str As String Dim strjn As String Dim Rng As Range With Columns("C:C") .Replace What:="[Lisbon.xlsx.xlsm]", Replacement:="" End With With Columns("C:C") .Replace What:="'='", Replacement:="='" End With With Columns("B:B") .Replace What:="$", Replacement:="" End With Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("Linkslist") n = sh.Range("C2", sh.Range("C2").End(xlDown)).Rows.Count arr = WorksheetFunction.Transpose(Range("B2:B" & n).Value) For i = 2 To n j = i - 1 Worksheets("LinksList").Activate puff = Chr(34) & arr(j) & Chr(34) Range("C" & i).Select Selection.Copy Worksheets(Range("A" & i).Value).Select Range(Range(puff)).Select Next End Sub 

所有你需要的是这样的:

 Dim sh As Worksheet Set sh = ThisWorkbook.Sheets("Linkslist") n = sh.Range("C2", sh.Range("C2").End(xlDown)).Rows.Count For i = 2 To n Worksheets(sh.Range("A" & i)).Range(sh.Range("C" & i)).Formula = "=" & sh.Range("B" & i) Nexti