0

我已经提出并提供了我自己的答案,虽然它不好但它有效。 上一个问题

但是,现在我想链接另一张工作表中的单元格。但是,我编写的程序无法在一张纸到另一张纸的单元格之间进行引用。

例子

Sheet1,A 列

Sheet2,第 1 行

我希望有

Sheet1!A1 = Sheet2!A1
Sheet1!A2 = Sheet2!B2

在此处输入图像描述

4

2 回答 2

1

这是你正在尝试的任何机会吗?

Option Explicit

Sub Sample()
    Dim cRange As Range, rrange As Range
    Dim i As Long, j As Long
    Dim cPrompt As String, cTitle As String
    Dim rPrompt As String, rTitle As String

    On Error GoTo Whoa

    cPrompt = "Please Choose a Column without Header"
    cTitle = "Specify Column Range"

    rPrompt = "Please Choose Starting cell"
    rTitle = "Specify row Range"

    Set cRange = Application.InputBox(cPrompt, cTitle, Type:=8)
    Set rrange = Application.InputBox(rPrompt, rTitle, Type:=8)

    For i = 1 To cRange.Count
        rrange.Offset(j).Formula = "=" & cRange.Parent.Name & _
        "!" & cRange.Cells(1, i).Address

        j = j + 1
    Next i

    Exit Sub
Whoa:
    MsgBox Err.Description
End Sub
于 2012-05-27T17:29:57.360 回答
0

您可以使用 INDIRECT 函数以更简单的方式执行此操作,如下所示:

=INDIRECT("Sheet1!R1C"&ROW()+4,FALSE)

这使用当前行加上偏移值将当前行与您要引用的第一列对齐。当您向下复制公式时,行号将增加,但将用于增加列引用。

于 2013-01-03T17:17:25.180 回答