dポイントプレゼントキャンペーン実施中!

VBA素人です。
マクロ有効ブック 元.xlsm 上の、シート名 アイウエオにある
データ範囲 D2:Y20001に隙間なく つまっているデータを、
別のファイル XLSXのシートへ写したいです。

ファイル名: 元.xlsm
シート名: アイウエオ
セル範囲: D2:Y20001

ファイル名: 新しい.xlsx
シート名: カキクケコ
セル範囲: A1:V20000

フォルダは、同一フォルダ内に、新しい.xlsx を はじめて作ることになります。

質問者からの補足コメント

  • さて、マクロの記録によるコードは以下のとおりです。
    ・マクロ有効ブックと同一フォルダに、新しいブックをつくりたく、そのフォルダ保管先が毎月変わるため、このコードでは問題があります。
    ・一部、マクロ記録時に操作を間違えて余分なコードがあるかも。
    ・新.xlsx 以外に 同じ内容のファイルを 新2.xlsx として作りたいです。

    Option Explicit
    Sub Macro1()

    ' Macro1 Macro
    ' Sheet1は アイウエオ   Sheet2は カキクケコ

    Sheets("Sheet1").Select
    Range("D2").Select
    Selection.CurrentRegion.Select
    Selection.Copy
    Workbooks.Add

      補足日時:2021/10/21 13:42
  • 続き
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("A1").Select
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "2"
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
    "https://d●/新.xlsx", FileFormat _
    :=xlOpenXMLWorkbook, CreateBackup:=False
    End Sub

      補足日時:2021/10/21 13:44

A 回答 (2件)

こんにちは。



綺麗なコードだと思います。
マクロの記録後、作業もスムーズにされていると思います。

>・マクロ有効ブックと同一フォルダに、新しいブックをつくりたく、そのフォルダ保管先が毎月変わるため、このコードでは問題があります。
 → マクロ有効ブックが複数あって、それが毎月違うフォルダに入って
いるという事でしょうか? それなら、下記が参考になるかと。

Excel VBA 同じフォルダにブックを保存する
https://lilia-study.com/excel/excel-vba/onajifol …

>・新.xlsx 以外に同じ内容のファイルを 新2.xlsx として作りたいです。
 → 下記の部分のマクロコードを、2つにすれば良いと思います。
ActiveWorkbook.SaveAs Filename:= _
"https://d●/新.xlsx", FileFormat _
:=xlOpenXMLWorkbook, CreateBackup:=False
を、最後に追加すれば良いと思います。ファイル名は変更が必要ですが。
    • good
    • 0
この回答へのお礼

連絡ありがとうございました

お礼日時:2021/10/21 14:30

おはようございます。



先ずは、マクロの記録で、やりたい事を、自動的にコードにされては?と
思います。

元.xlsmは開いている前提で、

マクロの記録開始
シートを選択
コピー元のセル範囲を選んで、コピーする。
新規ブックを作る。
セルA1を選択し、貼り付け
シート名を変更する。
名前を付けて保存を行う。
マクロの記録を終了する。

これだけで、質問者さんのマクロの8割方はできるのでは?と思います。

そのマクロを元に、検索などで調べて、不明な点をここで質問されたら?
と思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!