VBA引用取自存储在阵列中的图纸,用于选择不同图纸中的单元格



在工作表中,我存储了对C列中单元格地址、B列中公式和a列中工作表名称的引用。我已经找到了修剪公式的方法,现在我想使用C列中的单元格地址,在给定的地址中,用a列中给定的工作表引用名称替换不同工作表中B列中修剪的公式。所以,如果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 

最新更新