[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『他のシートを開いて、コピーする マクロ』(猛暑)
こんにちは。
コピー元のファイルから指定ファイルにコピーするマクロを組みたいです。
下記コードにて実行するのですが、エラーとなります。
何が間違っているのでしょうか。
エラーメッセージは
「実行時エラー438:オブジェクトは、このプロパティまたはメソッドをサポートしていません」
デバックを押すと、下記コード部分が黄色となります。(一番最後の行)
Workbooks("賞味期限.csv").Worksheets("賞味期限").Range ("A1")
2つのファイルは同じフォルダに保存し、実行時は2つのファイルを開いている状態です。
何卒、宜しくお願い致します。
Sub コピー()
Dim FilePath As String
'ファイルの入っているフォルダをパスを設定 FilePath = ThisWorkbook.Path
'コピー元のブックを開く Workbooks.Open ThisWorkbook.Path & "\在庫管理表.xlsm" 'データをコピー Workbooks("在庫管理表.xlsm").Worksheets(1).Range("B:B,AG:AG").Copy Workbooks("賞味期限.csv").Worksheets("賞味期限").Range ("A1")
End Sub
< 使用 Excel:Excel2013、使用 OS:unknown >
Workbooks("賞味期限.csv").Worksheets("賞味期限").Range ("A1")
セルだけ言われてもExcel君からすれば 何をすればよいのか理解できないでしょう。
■2
Copyメソッドの Destinationとして指定しているつもりなら 改行しては駄目です
(もしくは _ を使って1行であることをExcel君に伝えましょう)
Sub 研究用() Workbooks.Open(ThisWorkbook.Path & "\在庫管理表.xlsm").Worksheets(1).Range("B:B,AG:AG").Copy _ Workbooks("賞味期限.csv").Worksheets("賞味期限").Range("A1") End Sub
(もこな2 ) 2021/09/22(水) 15:32
ありがとうございます、出来ました。
_ が抜け続いていない状態だったのですね。
詳しくご説明頂きありがとうございます。
もし可能であれば、もう一つご確認して頂きたいのです。
在庫管理票のシートを毎日追加コピーしております。(一番左端へ)
そこで、一番左端のシートを賞味期限のブックにコピーのコードWorksheets(1)としているのですが、
違うシートの内容をコピーしてしまいます。
一番左端シートのコードはWorksheets(1)ではないのでしょうか。
図々しいのですが何卒、宜しくお願い致します。
(猛暑) 2021/09/22(水) 15:52
ただ見た目が左端でも、その前に非表示シートがあったりしたらそうもいかなくなります。
イミディエイトに↓のように入力して、どのシートが返ってくるかしらべてみてはどうでしょうか?
?Workbooks("在庫管理表.xlsm").Worksheets(1).Name
(もこな2 ) 2021/09/22(水) 16:01
非表示シートがありました。
元々他の方が作成したファイルでしたので、気づきませんでした。
アドバイスありがとうございます。
助かりました!!
(猛暑) 2021/09/22(水) 17:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.