関数リファレンス

アスパLab

F0000051_データが入力されている最終の行番号を取得する

ExcelVBA(マクロ)による業務の自動化では、シートに入力されているデータを加工することが多いです。台帳や管理表に付属するマクロを考えるとき、ユーザーが行方向にデータを伸ばしていくことが想定されます。そんな時、何行目までデータが埋まっているか最終行を取得するため、セルのEndプロパティを使用して最終行を確認しましょうという記事が多いです。この関数は表に空白のレコードがある場合を想定してExcelの一番下の行からデータが入力されている行に向かってEndプロパティを実施した結果の行番号を返します。
関数リファレンス

F0000050_指定したフォルダが存在しない場合、フォルダを新規作成する

この関数についてExcelVBA(マクロ)でフォルダを作成する場合、「MkDir」もしくは「FileSystemObject」を使用するのが一般的です。しかしすでに同名のフォルダ存在していたり、存在しない階層に新たなフォルダを作成しようとす...
関数リファレンス

F0000049_指定した文字列をブック内で重複しないワークシート名称へ変換する

ExcelVBA(マクロ)でシート名を変更することは簡単です。シートオブジェクトを作成し、Nameプロパティを書き換えます。しかし、手動で実施するシート名の変更と同じく、すでに存在しているシート名を指定するとVBAはエラーを吐きます。この関数は文字列をブック内で重複しないシート名へ変換します。
関数リファレンス

F0000048_文字列から改行コードを取り除く

ExcelVBA(マクロ)でcsvデータの加工をしたいという需要は高いです。csvデータのを取り扱う際に注意したいことの一つが改行文字(改行コード)の取り扱いです。データの中に含まれる改行と1レコード(行)の終わりを表す改行はしっかり使い分ける必要があります。時にはセルに入力された改行コードを取り除いてからcsvデータに加工するという処理をすることもあるでしょう。この関数では、文字列に含まれる改行コードを取り除きます。
関数リファレンス

F0000047_指定したパスにフォルダが存在するか調べる

この関数についてExcelVBA(マクロ)でファイルやフォルダを扱う場合によく使用される「FileSystemObject」は参照設定をするか、CreateObjectを使用する必要があります。どちらも記憶を頼って記述するには「FileSy...
関数リファレンス

F0000046_指定したパスにファイルが存在するか調べる

ExcelVBA(マクロ)でファイルやフォルダを扱う場合によく使用されるのは「FileSystemObject」は参照設定をするか、CreateObjectを使用する必要があります。どちらも記憶を頼って記述するには「FileSystemObject」の利用頻度も高いわけではなく、宣言の方法を毎度ネット検索に頼っている方は多いと思います。この関数は「FileSystemObject」の宣言ごと関数化しているため「FileSystemObject」の宣言や参照設定を意識することなくファイルの存在確認をすることができます。
関数リファレンス

F0000045_指定のフォルダ内に存在するファイル名一覧をワイルドカードを指定して抽出する

ExcelVBA(マクロ)でフォルダやファイルの存在を確認するためには「Dir」という非常に便利な備え付けの関数があります。しかしこの関数を使用しないという人は多いです。前回の記事(指定のフォルダ内に存在するフォルダ名一覧をワイルドカードを指定して抽出する)でも解説したようにDir関数には落とし穴があるためです。このページで紹介する関数はDir関数を使用せずにフォルダ内にあるファイル名一覧を取得することができます。
関数リファレンス

F0000044_指定のフォルダ内に存在するフォルダ名一覧をワイルドカードを指定して抽出する

ExcelVBA(マクロ)でフォルダやファイルの存在を確認するためには「Dir」という非常に便利な備え付けの関数があります。しかしこの関数には非常に重大な落とし穴があります。Dir関数はマクロの動作中にプロシージャが変わっても状態を保持し続けます。要は、呼び出し元でDir関数を使用した後、呼び出し先でもDir関数を使用すると呼び出し元のDir関数の状態を上書きしてしまいます。この特性を理解していればDir関数は非常に高速で強力な関数ですが、理解せずに使うと事故の元です。ここで紹介する関数はDir関数を使わずに、フォルダ内にあるフォルダの一覧を取得することができます。
関数リファレンス

F0000043_Windowsでファイル名に使えない文字列を全角文字に置換する

ExcelVBA(マクロ)で業務を自動化するとき、マクロの実行結果でファイルを保存するということが少なからずあると思います。ファイルは命名規則を決めて整然と表示させたいところですが、ユーザーからの入力内容に応じてファイル名を設定する場合、注意が必要です。ExcelVBA(マクロ)では、ファイル名に使用できるか否かの判定をしないので、ユーザーが意図しない入力をした場合、実行時にエラーになります。この関数ではWindowsでファイル名に使用できない文字を半角→全角に変換して返します。
関数リファレンス

F0000042_ワークシートを静かに削除する

Excelのシートを削除しようとすると必ず警告が表示されます。これはExcelVBA(マクロ)でシートを削除しようとしても同じことが起きます。しかしマクロの動作中にこのような警告を出されるとマクロの動きが止まってしまい、せっかく自動化した作業をユーザーに監視させる必要がでてきてしまいます。こんなときExcelVBA(マクロ)ではExcelの警告を無効化する手段が用意されています。「Application.DisplayAlerts = False」と記述することでこの警告は回避可能です。しかし「警告を無効にする→有効にする」の記述に削除する行+2行コードが長くなることも、マクロの実行を通じて常に警告を無効にしておくことも、私は好みません。この関数は指定したワークシートを静かに(警告を表示させず)削除します。
スポンサーリンク