Excel (VBA)

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

 
(指定なし : 指定なし)
Re:「.xlsxのファイルを新しいシートにインポートしたいです。」
投稿日時: 20/06/15 18:18:02
投稿者: simple

「.xlsxのファイルを新しいシートにインポートしたいです。」
https://www.moug.net/faq/viewtopic.php?t=79516
への補足です。
 
(1)マクロ記録
ワークシートのコピー操作自体が不明なら、
ネット検索("Excel ワークシートをコピー")してください。
すぐに判明します。
例えば、下記。
https://www.officepro.jp/exceltips/tips_sheet/index3.html
 
 
Book1の他にBook2も開いていて、Book2のSheet1をBook1にシートコピーするマクロ記録は以下。

Sub Macro1()
    Windows("Book2").Activate
    Sheets("Sheet1").Select
    Sheets("Sheet1").Copy After:=Workbooks("Book1").Sheets(3)
End Sub

要するにワークシートのCopyメソッドが主役であるとわかります。
 
(2)内容の手入れ
 
これを、今の環境に当てはめれば、
     Set ws = wb.Worksheets(1)ですから、
    ws.Copy After:=ThisWorkbook.Sheets(3)
となります。
 
WorksheetのCopyメソッドのヘルプを確認すれば、
BeFore引数、After引数などの説明があります。
 
もし、ThisWorkbookの最終シートの後ろにコピーするなら、
    ws.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
などと書けます。
 
もし、数式などがあり、それが不要であれば、コピーしたあとで、
Set ws2 = ActiveSheet
ws2.Cells.Value = ws2.Cells.Value
とするだけです。
 
いずれにしても、少し手を動かすだけで、実現できる話です。
 
他人に依存して回答をもらい、分かった積もりになっていると、
基本的なことすら何時になっても自分でできないままです。
そうならないために、良いキッカケにして欲しかったのですが、
質問者さんから反応がなく残念でした。

投稿日時: 20/06/15 18:26:53
投稿者: simple

閉じておきます。