VBA関数

Switch関数はRangeオブジェクトを返すのか

Switch関数はRangeオブジェクトを返すか 前回 akashi-keirin.hatenablog.com 初めてその存在を知ったSwitch関数。 こいつは、たとえばRangeオブジェクトを返したりすることはできるのだろうか。 やってみた。 準備 Sheet1オブジェクトに次のようなPropertyを…

Switch関数というものがある

Switch関数というものがある 知ってました? 私は全然知らなかった。 何気なく『Programming Excel with VBA and .NET』という本を読んでいたら、59ページに、 Sub GetResponse() ' Declare variable as an enumerated value' Dim res As VbMsgBoxResult ' G…

Filter関数というものがある

Filter関数というものがある こないだ、オブジェクト・ブラウザをぐりぐりやっていたら、「クラス」欄にStringsというものを発見。 ただし、オブジェクト・ブラウザ上では、「クラス」としてではなく、「モジュール」として記載されている。 Stringsを選ぶと…

「Any型」の追放に成功した

Any型の追放に成功した akashi-keirin.hatenablog.com これの続報。 この記事には、id:imihito さんからコメントをいただいていた。 曰く、 記事の `Call MoveMemory(lpMemory, VarPtr(strText), lngSize)` に関しては`VatPtr`を`StrPtr`にするとどうなるで…

Split関数の裏技

Split関数の裏技 このとき、 akashi-keirin.hatenablog.com thom (id:t-hom) さんに教えてもらった。 Split関数の第2引数は省略できる 完全に思い込みで必須だと思っていた。 なるほど、Office VBA Reference の Split Function の項によると、 Syntax Spli…

半角カタカナを全角ひらがなに変換する(StrConv関数)

半角カタカナと戦う(StrConv関数) 名簿のふりがな欄 いろんな名簿を作る必要があって、着手してから気がついた。 名簿のふりがな欄、ふりがなの付け方めちゃくちゃやんけ! ある名簿は全角ひらがな。またある名簿は半角カタカナ。 んで、StrConv関数を使っ…

FreeFile関数というものがある

FreeFile関数というものがある FreeFile関数 前回の akashi-keirin.hatenablog.com をうpしたところ、即座に2件のツッコミが入った。 じゃなくって、 きなこ(id:kinacco)さん曰く FreeFile関数がありますよ(^^) また、ExcelVBAer (id:x1xy2xyz3)さん曰く F…

Application.Intersectメソッドを使う

セルが指定した範囲内にあるかどうかを判定するFunction Application.Intersectメソッドを使う 何気なく日経ソフトウエアの1月号を読んでいたら、武藤玄氏の連載記事「実務ですぐに役立つExcel VBA」の中に、次のような記述があった。 Intersectメソッドは…

Application.GetPhoneticが壊れた???

GetPhonetic関数がおかしい??? GetPhonetic関数の異状 Application.GetPhonetic関数は、2回目以降引数を省略すると、まだ返していないふりがな文字列を返すはず。 しかしながら、何か様子がおかしいのである。 たとえば、次のコード。 リスト1 標準モジ…

がんばれ! isKanjiメソッドくん!!!!!!!!

文字列から漢字のみ抽出する isKanjiメソッドを強引に使う 前回 akashi-keirin.hatenablog.com 作成したisKanjiメソッドの使いどころを無理矢理発明した。 準備 まず、 こんな風にシートを作っておいて、A1セルに「TextCell」、C2セルに「BaseCell」と名…

Join関数について

Join関数というものがある Join関数 前回の記事 akashi-keirin.hatenablog.com に、 id:imihito さんからコメントをいただいた。曰く、 argsByArray 相当処理として、組み込み関数にJoin 関数というものが有ったりします ```vba Join(strArray, "! ") ``` …

○箇月後の○曜日――改良版

「○箇月後の○曜日」割り出しFunctionの改良 akashi-keirin.hatenablog.com VbDayOfWeek型の引数 Twitterのフォロワー氏、及びid:imihito さんが教えてくださった。 vbSundayとかvbMondayって、単なる組み込み定数だと思っていたけれど、正体はVbDayOfWeek列…

列番号を列符号に変換する関数

列符号を割り出す関数を作る Split関数の挙動 セルのAddressプロパティを取得すると、例えばA1セルなら、「$A$1」という文字列が返る。 ということは、「$」をデリミタとしてSplit関数を使えば、列符号を表す「A」がSplit関数の返り値である配列のどこかに…

ゼロ埋め番号文字列を作る関数を自作した

ゼロ埋め番号を作る関数 調子に乗って関数化 こいつら akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com をもとに、最大数に応じてゼロ埋め数字の文字列を返す関数を作ってみた。 仕様 書式 createNumberFilledByZero(最大数 , 対象数) 第1引数…

フォルダを作成するクラス

フォルダ作成クラス 任意のディレクトリに任意の名前のフォルダを作る 新規フォルダを作るときは、MkDir関数を使う。 まあ、それはそれでいいのだが、何かこう、作りっぱなし感があって気持ち悪い。 せっかくなので、FileSystemObjectの練習も兼ねて、 フォ…