お世話になっております。
件名の通りなのですが
excelのVBAでファイル指定したexcelを指定場所にコピーする方法を知りたい
と思ったおります……
グーグルさんで調査した所
[【VBA入門】ファイル読み込み方法はこの2つを知っていれば十分 | 理系夫婦の方程式] (https://rikei-fufu.com/2019/05/09/post-1025-vba3/)
が見つかったのでそちらを参考に
Sub OpenExceladdsheet() Dim FileName As String Dim ret As Variant Dim mainSheet As Worksheet Dim csvSheet As Worksheet Dim csvBook As Workbook Set mainSheet = ActiveSheet 'ファイル選択ダイアログを表示 ret = Application.GetOpenFilename("Excelファイル(.xlsx),.xlsx") 'キャンセルされた場合 If ret = False Then MsgBox "キャンセルされました" Exit Sub End If FileName = CStr(ret) 'CSVファイルをOpen Workbooks.Open FileName Set csvBook = ActiveWorkbook Set csvSheet = ActiveSheet 'CSVをシートごとコピー csvSheet.Copy After:=mainSheet 'CSVを閉じる csvBook.Close Set csvBook = Nothing Set csvSheet = Nothing Set mainSheet = Nothing End Sub
と実装したのですが
そちらでは動作させたexcelにsheet1(2)とシート追加でそのままコピーされてしまいました……
そうではなく
VBAを動作させたexcelの【sheet1】の例えばE1から
コピーされたシートを貼り付けたいのです……
そのような実装方法を知るためにはどのような語句でググれば良いのか
ご助力頂け無いでしょうか?
本当に基本的な事を伺って申し訳無いのですが
何か情報をお持ちな方はコメント頂けますと嬉しく思います。
すいません、「動作させたexcelのE1からコピーされたシートを貼り付けたい」がどのようなことを指しているのか理解できていません。私の理解力の問題かもしれないのですが、言い換えてみてもらえますか?
mdj様
説明不足失礼しました。ちょっと文言変えたのですがどうでしょうか?
ご助力頂けますと嬉しく思います。
編集ありがとうございます。「E1に」であればひとまず理解できました。
あとはGetOpenFilenameしたExcelファイルの「A1:XEZ1048576」までを「E1:XFD1048576」になんでしょうか。もしくはシート内容をそのままコピペ(「E1:Z1000」を「E1:Z1000」にコピペ)なのでしょうか。もしくは「E1のみ」を「E1」にコピーなのでしょうか。 これ以降の私の確認は後日になってしまいますのでご了承ください。他の方が確認してくれるかもしれませんので、ご記入いただければ幸いです。
度々ありがとうございますっ
GetOpenFilenameしたExcelファイルの「A1:XEZ1048576」までを
「E1:XFD1048576」に貼り付けたいのです……
本文も s/E1に/E1から/ と修正しました。
回答1件
あなたの回答
tips
プレビュー