0

よくありませんが、うまくいきますが、私は自分の答えを尋ねて提供しました。 前の質問

ただし、別のシートのセルをリンクしたいと思います。しかし、私が書いたプログラムでは、あるシートから別のシートへのセル間参照ができませんでした。

シート 1、列 A

シート 2、行 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 に答える