忍者ブログ

リストにある文字列を含むか判定

2021年06月13日
テーブルを作ったのはいいけど、不要なデータが紛れ込んでいた!!

正しいデータのリストがあって、不要データか判別したい。
そんなニーズを叶えるマクロを作ってみた。




いきなり作りたくなる気持ちを抑えて、まずはネットで検索。
クリーンヒット!

https://kirinote.com/excelvba-listcharacter/

もろにやりたいことを実現するページを発見。

参考サイトでは色分けをしていたけど、
右側のセルにキーワードをいくつ含むかカウントする処理を入れた。


リストの内容を配列に格納するのがポイントで、
セルを参照した処理だと行数の多いリストでは処理しきれない。

行ループについても配列にして、出力も配列に格納したほうが早いけど
手間の割に劇的な効果はないと思うのでこのまま。

対象のシート名、テーブルのタイトル行、参照列、出力列を定数化した。



以下、ソース。
PR
つづきはこちら "リストにある文字列を含むか判定"

フォルダ内再帰検索するマクロ

2021年05月26日
フォルダ内のCSVファイルについて、サブフォルダを含めて全部中身を書き出したい。

ということで、ネットで調べて再帰検索するマクロを移植。
'http://blog.jmiri.net/?p=1763

シート選択で動かすと確かにシンプルになるものの、
処理速度が圧倒的に不利。

できれば直したいけど、一発ものだから様子見。

ファイルサイズと更新日時は、ファイル名に環境依存文字があると動かないので
FSOで取得するように改良。


全フォルダをなめる処理は完成。
過去に作った再帰なしのファイルの中身を書き出すマクロと
がっちゃんこして完成かな。

以下、ソース(途中)
つづきはこちら "フォルダ内再帰検索するマクロ"

オートフィルタランチャーマクロ

2021年03月30日
前回、テキスト系のランチャーを作ったので、
今回はオートフィルタのモジュールを整理することにした。

選択中のセルでオートフィルタ 他

今回はこれらモジュールをまとめて呼び出すフォームを作った。

新しいことは特に何もやっていないので
説明については、前回のランチャーを参照。

各フォームを呼び出すランチャーマクロ(ランチャー5)


作った感想。
ショートカットキーで一発起動できるのが
オートフィルタ系モジュールの利点だったので、
UIを介すると使いづらいってのが正直なところ・・・。

ただ、オートフィルタにショートカットキーを
5つも割り当ててられないってのもあるので一長一短か。

ダウンロード


以下、ソース
つづきはこちら "オートフィルタランチャーマクロ"

各フォームを呼び出すランチャーマクロ(ランチャー5)

2021年03月20日
ここのところユーザーフォームを使ったマクロを作ってきた。

第1弾 文頭および文末に文字を挿入するマクロ
第2弾 文頭および文末の文字を削除するマクロ
第3弾 Mid関数で文字を切り出すマクロ
第4弾 指定位置に文字を挿入するマクロ
今回は、第1弾~第4弾で作ったフォームを呼び出すフォーム作った。

ポイントは、数値の入力制限で使用した_KeyDownプロパティを使って
単一キー操作で各フォームを呼べるようにしたこと。

_KeyDownプロパティは、ユーザーフォームに対しては指定できないので、
TabIndexが1のキャンセルボタンに対して_KeyDownプロパティを設定。

起動時にアクティブになっているボタンに設定することがポイント。
ダウンロード



ちなみに、これらマクロを作ったきっかけである
1文字目の「’」のコントロールは残念ながらできなかった。。。

ユーザーフォームは、各オブジェクトを作るのがめんどくさいけど、
今回、_KeyDownプロパティで各モジュールを呼べることが分かったので
キー一覧書いたテキストボックスに_KeyDownプロパティを設定するのもありかな。
以下ソース

つづきはこちら "各フォームを呼び出すランチャーマクロ(ランチャー5)"

指定位置に文字を挿入するマクロ(ランチャー4)

2021年03月20日
前回、Mid関数で文字を切り出すマクロを作った。

文字の挿入も指定位置でできた方がいいなってことで作ってみた。

今回は、新しいことは何もないので、詳細省略。

ブログに公開するタイミングでバグが見つかる。。。


ユーザーフォームで入力箇所を数値指定して、
テキストボックスに入力した文字を挿入する。

ダウンロード



以下、ソース
つづきはこちら "指定位置に文字を挿入するマクロ(ランチャー4)"