和風スパゲティのレシピ

日本語でコーディングするExcelVBA

複数のシートをまとめてコピー/移動する

複数のワークシートを一度にコピー/移動する方法を紹介します。Worksheetsは配列を渡すと複数のシートを返してくれますので、そこからWorksheets(Array("集計表", "データ")).Copyと、単独シートと同じようにCopy/Moveメソッドを使用します。

すべてのシートに同じ処理を行う - For~Nextステートメント

ブック内のすべてのシートをループして、複数のシートに同じ処理を実行するコードを紹介します。たくさんのシートに同じ処理を行うのは、マクロならではの便利な技です。いくつかパターンを用意しましたので、お好きなコードをお持ち帰りください。

VBAの悩みはVBAerに聞け(Zoom配信)に登壇いたします - ExcelVBA

本日20:00~VBAの悩みはVBAerに聞け(Zoom配信)に登壇いたします。他者がコーディングする様をリアルタイムに見、その場で解説を聞くためのイベントです。内容は、初級者向けに、オートフィルターの基本コードを解説します。

アクティブシートを変えずにシートを追加・コピーする

アクティブシートを変えずに、シートを追加・コピー・移動する方法を解説します。アクティブシートを全く変えることなくメソッドを実行する方法はありませんので、元のアクティブシートを記憶し、後でそのシートをActivateして地道に達成します。

新規シートを新しいブックに追加する

新しいシートを、新規のブックに追加する方法を紹介します。それには Set 新規シート = Workbooks.Add.Worksheets(1) というコードを実行します。Workbooks.Addでブックを追加すればそこにシートがありますので、そのシートを取得すればOKです。

エラーメッセージを(ググるために)コピーする方法

エラーが発生した際に、そのエラーメッセージをコピーする方法を紹介します。まずはエラー画面で[デバッグ]を押し、イミディエイトウィンドウに移動します。そこに?Err.Descriptionと入力することで、エラーメッセージを取得することができます。

セル範囲を縮小する/見出し行を除外する

セル範囲を縮小する方法(見出し行を除外する方法)を紹介します。Set 下から1行減らしたセル範囲 = セル範囲.Resize(セル範囲.Rows.Count - 1) や、Set 上から1行減らしたセル範囲 = セル範囲.Offset(1).Resize(セル範囲.Rows.Count - 1)で取得できます。