和風スパゲティのレシピ

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

基本の書き方

フォルダをコピーする - FSO.CopyFolder

中身ごとフォルダをコピーするFileSystemObject.CopyFolderメソッドの使い方を解説します。FSO.CopyFolder コピー元パス, コピー先パスという記述で実行できます。コピー元にはワイルドカード*が使用でき、複数のフォルダを一括でコピーできます。

フォルダを移動する - FSO.MoveFolder

中身ごとフォルダを移動するFileSystemObject.MoveFolderメソッドの使い方を解説します。FSO.MoveFolder 移動元パス, 移動先パスという記述で実行できます。移動元にはワイルドカード*が使用でき、複数のフォルダを一括で移動できます。

フォルダを移動・名称変更する-Nameステートメント

フォルダを移動・名称変更する際に使用するNameステートメントの使い方を解説します。Name 対象フォルダパス, 行先フォルダパスという記述で実行でき、最後のフォルダ名を変えれば名称変更、途中のフォルダパスを変えれば移動ができます。

FileSystemObject.MoveFileメソッド

FileSystemObjectにてファイルを移動するMoveFileメソッドについて解説します。FSO.MoveFile 移動元ファイルパス, 移動先ファイル/フォルダパスという記述で実行します。ファイルパスにワイルドカードを使用して一括移動することも可能です。

ファイルを移動・名称変更する-Nameステートメント

ファイルを移動したりファイル名を変更する際に使用する、Nameステートメントの使い方を解説します。Name 移動するファイルのパス, 移動先のファイルパスという記述で実行でき、フォルダ部分を変えれば移動、変えなければ名称変更ができます。

FileSystemObject.CopyFileメソッド

FileSystemObjectにてファイルをコピーするCopyFileメソッドについて解説します。コピー元と行先の二つのパスを渡して実行します。行先はファイル/フォルダどちらでも動きます。コピー元パスにワイルドカードを使用すれば一括コピーが可能です。

ファイルをコピーする - FileCopyステートメント

ファイルをコピーする際に使用する、FileCopyステートメントの使い方を解説します。FileCopy コピー元のファイルパス, コピー先のファイルパス という単純な記述で実行できます。既存のファイルは無警告で上書きされてしまう点に注意してください。

Folderオブジェクト(FileSystemObject)

FileSystemObjectの参照下で使用できるようになる、Folderオブジェクトの取得方法とプロパティ・メンバー一覧を記載します。

Fileオブジェクト(FileSystemObject)

FileSystemObjectの参照下で使用できるようになる、Fileオブジェクトの取得方法とプロパティ・メンバー一覧を記載します。

フォルダを削除する - FSO.DeleteFolder

中のファイル・フォルダごとフォルダを削除する場合はFileSystemObject.DeleteFolderメソッドを使い、FSO.DeleteFolder 削除フォルダパス というコードを実行します。これは空フォルダしか削除できないRmDirで行えないため、FSO必須の処理になります。

空のフォルダを削除する - RmDirステートメント

空のフォルダを削除する、RmDirステートメントの使い方を解説します。RmDir 削除フォルダパス で実行でき、フォルダが空でない場合はエラーとなります。中身ごとフォルダを削除したい場合はFileSystemObjectのDeleteFolderメソッドを使用します。

FileSystemObject.DeleteFileメソッド

FileSystemObjectにてファイルを削除する、DeleteFileメソッドの使い方を解説します。FSO.DeleteFile 削除したいファイルのパス で実行できます。Killステートメントと同様、ワイルドカード*を利用して、該当ファイルの一括削除を行うこともできます。

ファイルを削除する - Killステートメント

ファイルを削除する際に使用するKillステートメントの使い方を解説します。Kill 削除したいファイルのパス で実行でき、Excel以外の全種類のファイルも削除できます。また、ワイルドカード*を使用して、該当ファイルの一括削除も可能です。

セルの文字配置(水平/垂直位置など)を設定する

セルの書式設定の配置タブにある、水平/垂直位置や、文字の折り返し、縮小して全体表示、縦書きなどの文字方向設定をVBAで行う方法を解説します。例えば水平方向を中央寄せにするには、Range.HorizontalAlignment = xlCenterを実行します。

確認メッセージを非表示にする - DisplayAlerts

マクロが中断しないようExcelからの確認メッセージを非表示にする、DisplayAlertsプロパティの使い方を解説します。Application.DisplayAlerts=Falseを実行すると以降確認メッセージが表示されなくなり、Trueにすると再度表示されるようになります。

文字列を部分一致で比較する - Like演算子

文字列を部分一致で比較するLike演算子の使い方を解説します。任意の文字列を意味するワイルドカード「*」を利用して、If 判定したい文字列 Like "*○○*" Thenの形式で使用します。数字を表す#や、アルファベットを表す[A-Z]など、文字種も指定可能です。

FileSystemObject.FileExistsメソッド

FileSystemObjectにてファイルの存在を判定する、FileExistsメソッドについて解説します。If FSO.FileExists(判定したいファイルのパス) Thenが基本形です。返り値もBooleanとわかりやすい仕様ですが、Dir関数と違ってワイルドカードは使えません。

FileSystemObject.FolderExistsメソッド

FileSystemObjectにてフォルダの存在を判定する、FolderExistsメソッドについて解説します。If FSO.FolderExists(判定したいフォルダのパス) Thenが基本形です。引数もフォルダパスひとつで、返り値もBooleanと、仕様がわかりやすいメソッドです。

FileSystemObject.CreateFolderメソッド

FileSystemObjectにてフォルダを作成する、CreateFolderメソッドについて解説します。作りたいフォルダのパスを渡すとそのフォルダを作成してるメソッドで、通常実行する分には、MkDirステートメントとエラー含めてほとんど同じ動きをします。

Range(Cells,Cells)の親シートを指定する方法

Range(Cells,Cells)で取得するセル範囲の親シートを指定する方法を解説します。Cells2つにシートの指定を付けるか、RangeとCells2つの計3つすべてにシートの指定を付けるかで指定してください。ws.Range(Cells,Cells)ではエラーになります。

文字列を区切り文字付きで結合する - Join関数

文字列を区切り文字付きで結合するJoin関数の使い方を解説します。Join(1次元配列, 区切り文字)で配列の各要素をつなげた1つの文字列を作ってくれます。この関数は1次元配列限定のため、セル範囲を渡したい場合はTranspose関数をかませます。

フォルダを作成する - MkDirステートメント

フォルダを作成する場合は、MkDirステートメントを使用します。引数が「作るパス」しかない単純なステートメントですが、すでにあるフォルダを作ろうとするとエラーになる点と、すでにあるフォルダ内にしか作れない点にご注意ください。

ブックを上書き保存する - Workbook.Save

ブックを上書き保存する場合は、 WorkbookオブジェクトのSaveメソッドを使います。読取専用か調べるReadOnlyプロパティ、保存ブックをシートから取得するParentプロパティ、保存して閉じるCloseメソッドも一緒に覚えるとよいでしょう。

ブックを閉じる - Workbook.Close

ブックを閉じるときは、Workbook.Closeメソッドを使用します。引数SaveChangesがTrueの場合は上書き保存をして閉じ、Flaseの場合は保存をせずに閉じます。この引数を省略した場合は、保存するかをユーザーに確認してから閉じます。

セルのロックを設定/判定する-Range.Locked

セルのロックの設定/解除の方法と、セルがロックされているかを判定する方法を解説します。どちらもRangeオブジェクトのLockedプロパティで行うことができ、設定/解除はTrue/Falseの代入で、判定はTrue/Falseとの比較で実行します。

ブックを保護する - Workbook.Protect

ブックの保護を設定/解除する方法を解説します。WorkbookオブジェクトのProtectメソッドを使います。ブックの保護という名称ですが、実際に禁止される操作は、ワークシートの追加、表示/非表示、削除、移動、名前変更になります。

シートを保護する - Worksheet.Protect

ワークシートの保護を設定/解除する方法を解説します。シートを保護するにはWorksheetのProtectメソッドを使用します。簡単ですが非常に引数が多いメソッドですので、よく扱う方は全引数を設定するコードを保存しておきましょう。

シート名を取得・変更する - Worksheet.Name

ワークシートの名前を取得したり、変更する場合は、WorksheetオブジェクトのNameプロパティを使用します。シート名 = Worksheet(1).Nameというコードで名称を取得でき、Worksheet(1).Name = "変更シート名"というコードで名称を変更できます。

シートを削除する - Worksheet.Delete

ワークシートを削除するDeleteメソッドの使い方を解説します。シートを削除する場合は、[削除するシート].Deleteを実行します。削除時の警告メッセージを表示せずにシートを削除する場合はApplication.DisplayAlerts = False/Trueでこのコードを挟みます。

シートを移動する - Worksheet.Move

ワークシートを移動する「Moveメソッド」の使い方を解説します。[移動するシート].Move Before:=[ここで指定したシートの1つ前に挿入]、または[移動するシート].Move After:=[ここで指定したシートの1つ後ろに挿入]というコードを実行します。