このワンパターンでOK!「シートごとコピー」するExcelマクロをマスター
エクセルマクロの挫折しない勉強法や仕事で使いこなすコツを徹底解説! 講師の寺澤さんはこれまでの20年間マクロを使って様々な業務を効率化させるなど、数多くの社内表彰を受けてきました。例えば、数十万行の元データから分析用データを毎週作成する作業。人の手だと1週間かけても終わらない作業ですが、マクロを使うと30分程で完成してしまいます。さらに自ら社内講座も主催、全くマクロを触ったことがない数百人を指導し、満足度98%と人気を博しています。近著『4時間のエクセル仕事は20秒で終わる』では、そのエッセンスを余すところなく紹介しています。 本連載では、エクセルマクロを仕事で使うための本当に必要な知識だけを、できるだけわかりやすく説明していきます。
Photo: Adobe StockDim a ’ コピー先ファイルの名前 Dim b_path ’ コピー元ファイルのパス Dim b ’ コピー元ファイルの名前
a = ThisWorkbook.Name
コピー元のファイル(コピーしたいデータがあるファイル)を選択
b_path = Application.GetOpenFilename
選択したファイルを開く
Workbooks.Open b_path
もし「b_path」が「False(=空の状態)」ならメッセージボックスで「処理を中断しました」と出し「Exit Sub(実行終了)」させます。そうでなければ「Workbooks.Open b_path」でコピー先ファイルを開き処理を進めます。
b_path = Application.GetOpenFilename If b_path = False Then MsgBox "処理を中断しました" Exit Sub Else Workbooks.Open b_path End If