Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Microsoft 365)
別シートの内容をコピーして、メインのExcelのdataシートに上書きしたい。
投稿日時: 22/11/11 16:47:19
投稿者: takatada72

お疲れさまです。
 
色々と検索探してみたのですが、見つけることができなく、こちらへ投稿させていただきました。
 
実現したい内容でが、
ツールとして使っているExcel(toos-Form.xlsm)があります。そちらのdataシートに日々更新して
いるデータの内容(data_Table.xlsx)を上書きしたいのです。
 
毎日更新しているデータがあるファイルです。:
data_Table.xlsxのSheet1の内容をコピーしたい
 
ツールとして使っているファイルです。:
toos-Form.xlsm のdataシートに上書きしたい
 
下記のプログラムでは、ツールの方にdata2として追加されてしまいます。
 
Workbooks.Open "\\test\date\Database\data_Table.xlsx"
Worksheets(1).Select
 
ActiveSheet.Copy _
      Before:=Workbooks("toos-Form.xlsm").Sheets("data")
 
お忙しいとは思いますが宜しくお願い致します。

回答
投稿日時: 22/11/11 17:17:21
投稿者: taitani
投稿者のウェブサイトに移動

例えばですが、明示的にブックを指定してはいかがでしょうか。
’---------------------
    Dim ShtData As Workbook
    Workbooks.Open "\\test\date\Database\data_Table.xlsx"
     
    Set ShtData = ActiveWorkbook
     
    ShtData.Activate
     
    ActiveSheet.Copy _
          Before:=Workbooks("toos-Form.xlsm").Sheets("data")
’---------------------

回答
投稿日時: 22/11/11 17:19:02
投稿者: taitani
投稿者のウェブサイトに移動

あ、
ActiveSheet.Copy _
      Before:=Workbooks("toos-Form.xlsm").Sheets("data")
 
だと、
 
Workbooks("toos-Form.xlsm").Sheets("data")シートの後ろにコピーしてねって命令ですよ。
その辺を修正してはいかがでしょう。

投稿日時: 22/11/11 17:32:36
投稿者: takatada72

お疲れさまです。
 
早速のご回答をありがとうございました。
こちらの部分が特に、わからない項目になります。
打開策を教えて頂けないでしょうか BeforeとAfterしか見つかりません
でした。 プログラムに詳しくなくすみません。
 ActiveSheet.Copy _
          Before:=Workbooks("toos-Form.xlsm").Sheets("data")
 
お忙しいとは思いますが宜しくお願い致します。

回答
投稿日時: 22/11/11 17:46:31
投稿者: taitani
投稿者のウェブサイトに移動

シートをコピーするのではなく、データを data シートの範囲に値などで貼り付ける感じでしょうか。
一旦、マクロの記録でやってみましょう。

投稿日時: 22/11/14 08:17:05
投稿者: takatada72

taitaniさん 
 
ありがとうございました。
マクロの記録というのを忘れかけておりました。
こちらでVBAを作っていけば、解決できるかもしれないですね
 
一旦、クローズさせていただきます。