前提・実現したいこと
Excel VBA の初心者です。
ワークブック(.xlsm)内の選択した任意のセル範囲(範囲は固定でなく自由)の内容を、別なワークブック(.xlsx)の指定したワークシートへコピー転記できるようなマクロを組みたいです。
また、別なワークシートへ転記の際に、既に書かれているセルの続きから転記されるようにしたいです。
どうすれば改善されるか、アドバイスなどご教授頂ければと思います。
不慣れで申し訳ありませんが、どうぞよろしくお願いいたします。
発生している問題・エラーメッセージ
テストマクロを作って試してみたのですが、
下記のような状態になってしまい、カーソルで選択した範囲全てを転記できません。
該当のソースコード
Excel VBA
Sub データ転記()
Dim fl As Variant
Dim wb As Workbook
Dim wsDst As Worksheet
Dim i As Long
Dim myRange As Range
Dim rw As Long
i = 2
For Each myRange In Selection
fl = Application.GetOpenFilename
Set wb = Workbooks.Open(Filename:=fl)
Set wsDst = wb.Worksheets("転記先")
rw = wsDst.Cells(Rows.Count, i).End(xlUp).Row + 1 wsDst.Cells(rw, i).Value = myRange.Value i = i + 1
Next
End Sub
試したこと
ワークブックのオープンメソッド(Application.GetOpenFilename)を、For Each ...Nextステートメントの外に出すと、マクロを実行しても何も転記されず変わりません。
補足情報(FW/ツールのバージョンなど)
このテストマクロを作ったエクセルは2010のものですが、実際は2010以降の新しいバージョンのエクセルで作る予定です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/19 11:14