A1
の式の代わりにR1C1
の式を使用して、ブックの範囲内の値を別のブックにコピーしたいと思います私のコードで整数変数で行の値を後で)。Excel vba:R1C1の式を使用して別のブックに範囲の値をコピーする
ので、このコードは、私の作品:
Sub test()
Dim x, y As Workbook
Set x = ThisWorkbook
Set y = Workbooks.Open("myfilepath")
x.Sheets(1).Range("A1:B1").Copy
y.Sheets(1).Range("A32:B32").PasteSpecial
End Sub
私は(私が同等だと思う)そのような何かをしようとした場合しかし、それは動作しません(私は'1004' error at x.Sheets(1).Range(Cells(1, 1), Cells(1, 2)).Copy
を取得する):
Sub test()
Dim x, y As Workbook
Set x = ThisWorkbook
Set y = Workbooks.Open("myfilepath")
x.Sheets(1).Range(Cells(1, 1), Cells(1, 2)).Copy
y.Sheets(1).Range(Cells(32, 1), Cells(32, 2)).PasteSpecial
End Sub
誰かがそれがうまくいかない理由と、どのように整数変数を使用して文字の代わりに行を定義することができるのか説明できますか?
fyiの場合、 'x'は' variant'として宣言されます。 – findwindow
@findwindow:ありがとう。私はなぜ「x」と入力するのか不思議だった。 「y」と入力している間は、可能性のドロップダウンメニューが表示されませんでした。ありました。 – sims
受け入れられた回答の副メモとして。 R1C1表記を使用して、あなたが望むものを達成することができます。 VBAは次の構文を受け入れます: 'Range(" A "&someVariable)' – Vegard