1

あるシートから別のシートにリンクを貼り付けたい

Range("A1:D1").Select
Range("D1").Activate
Selection.Copy
Sheets("Sheet2").Select
ActiveSheet.Paste Link:=True

ただし、このコードでは、シートが Sheet1 から Sheet2 に切り替えられます。シートを切り替えずにリンクを貼り付ける方法はありますか?

ありがとう。

4

6 に答える 6

1

これがあなたがしようとしていることだと思いますか?

Sub Sample()
    Dim i As Long
    For i = 1 To 4
        Sheets("Sheet2").Cells(1, i).Formula = "=Sheet1!" & _
                Split(Cells(, i).Address, "$")(1) & "1"
    Next i
End Sub
于 2012-04-04T10:35:14.290 に答える
0

このコードは、アクティブなシートを変更することなく、コード スニペットと同じことを行います。

Range("A1:D1").Copy
Worksheets("Sheet2").Paste Link:=True

これ (およびコード) は、アクティブなシートからコピーされることに注意してください。アクティブシート以外のシートからコピーしたい場合は、次のようなものを使用します

Worksheets("Sheet1").Range("A1:D1").Copy
Worksheets("Sheet2").Paste Link:=True
于 2012-04-04T10:50:04.150 に答える
0

私はちょうど今同じ問題を抱えていました。コードを実行しようとしたときに、TightVNC が別のマシンに接続されていることに気付きました。閉じると、コードは通常どおり実行されます。

これは、一部のソフトウェアがクリップボードを制御しているために発生する可能性があります。VNC や仮想マシンなど、必要のないものはすべて閉じてください。

于 2015-09-04T07:18:08.327 に答える
-1

シートを選択しないと、あなたのLINKの願いは叶いません。しかし、それを目に見えないようにすることはできます。

Option Explicit

Sub test()
    Application.ScreenUpdating = False

    Sheets("Sheet1").Range("A1:D1").Copy
    With Sheets("Sheet2")
        .Activate
        .Range("A1").Select
        ActiveSheet.Paste Link:=True
    End With
    Sheets("Sheet1").Activate

    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub
于 2012-04-04T05:33:31.743 に答える