素人がExcelVBAによる「一人働き方改革」に挑むブログスマートフォン用の表示で見る素人がExcelVBAによる「一人働き方改革」に挑むブログExcelVBAネタです。特定の文字列のみ狙い撃ちでゴシック体にするみたいなくそめんどくさい作業に遭遇した。対象の文字なり文字列なりをワークシートに表で作っておいて、Functionで配列化できたら便利なんじゃね?と思っただけです。コーディング次のようなFunctionを作った。String()でFunctionの名前と引数、返り値の型を指定。引数としてセル範囲を与えると、String型の配列を返すFunctionにしている。targetRange.Countでは、引数で渡されたRangeオブジェクト(targetRange)に含まれるセルの個数をCountプロパティを参照して獲得し、変数countOfCellsにぶち込んでいる。1)では、String型の配列変数tmpArray()をとりあえず宣言しておき、すかさずReDim。Next」を使って引数で渡された範囲の各セルを巡回し、それぞれの値を配列変数tmpArrayにぶち込んでいく。インクリメントしておかないとアホな結果になるので注意。tmpArrayで配列tmpArrayを返り値としてreturnしてやればおk。使ってみるこんなふうに範囲を選択して、次のコードで使ってみる。ぶち込む、という意味。各要素を取り出してイミディエイトに表示するようにしている。UBoundはこういうときに欠かせない組み込み関数ですな。一応、配列の要素が「""」(長さ0の文字列)だったら代わりに「*」を表示するようにした。Next」では、結合されたセルも一つ一ついわゆる「Zオーダー」で巡回する仕様になっているようだ。おわりに使いどころ、他にあるかいな......。あと、Zオーダー以外の順番にも対応する必要があるかも知れん。なると、Dictionaryでやる方が便利かなあと思ったり。»プロフィールid:akashi_keirinExcelVBAネタです。SyntaxHighlighter.all();注目記事はてなブログをはじめよう!akashi_keirinさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。