あるシートから別のシートにリンクを貼り付けたい
Range("A1:D1").Select
Range("D1").Activate
Selection.Copy
Sheets("Sheet2").Select
ActiveSheet.Paste Link:=True
ただし、このコードでは、シートが Sheet1 から Sheet2 に切り替えられます。シートを切り替えずにリンクを貼り付ける方法はありますか?
ありがとう。
これがあなたがしようとしていることだと思いますか?
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
このコードは、アクティブなシートを変更することなく、コード スニペットと同じことを行います。
Range("A1:D1").Copy
Worksheets("Sheet2").Paste Link:=True
これ (およびコード) は、アクティブなシートからコピーされることに注意してください。アクティブシート以外のシートからコピーしたい場合は、次のようなものを使用します
Worksheets("Sheet1").Range("A1:D1").Copy
Worksheets("Sheet2").Paste Link:=True
私はちょうど今同じ問題を抱えていました。コードを実行しようとしたときに、TightVNC が別のマシンに接続されていることに気付きました。閉じると、コードは通常どおり実行されます。
これは、一部のソフトウェアがクリップボードを制御しているために発生する可能性があります。VNC や仮想マシンなど、必要のないものはすべて閉じてください。
シートを選択しないと、あなたの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