作ってみた

ListBoxを操作するクラスモジュール ⑨ レーベンシュタイン距離(2)

ListBoxを操作するクラスモジュールを、私なりに作成中。 前回は、レーベンシュタイン距離を用いて、「探している文字と何か似てる」ものを探すことに挑戦した。 infoment.hatenablog.com今日も、昨日の続きから。 昨日の一致率リスト表示には、以下の問題が…

ListBoxを操作するクラスモジュール ⑧ レーベンシュタイン距離(1)

ListBoxを操作するクラスモジュールを、私なりに作成中。 前回は、正規表現によるマッチング結果で、リストボックスの 表示内容を絞り込んでみた。 infoment.hatenablog.com今日も、前回の続きから。 前回までに、リスト項目の絞り込みについて、 キーワード…

ListBoxを操作するクラスモジュール ⑦ 正規表現によるマッチング

ListBoxを操作するクラスモジュールを、私なりに作成中。 前回は、リストボックスの列数および列幅を自動調整することに挑戦した。 infoment.hatenablog.com今日も、前回の続きから。 前々回に、検索値を含む行だけでリストボックスを更新してみた。 こうな…

ListBoxを操作するクラスモジュール ⑥ 列幅を自動調整

ListBoxを操作するクラスモジュールを、私なりに作成中。 前回は、検索値を含む行のみでリストボックスを更新してみた。 infoment.hatenablog.com今日も、前回の続きから。 リストボックスで何かと面倒なのが、列幅の調整だ。 複数列ある場合は下記のように…

ListBoxを操作するクラスモジュール ⑤ 検索値を含む行のみでリストボックスを更新

ListBoxを操作するクラスモジュールを、私なりに作成中。 前回は、選択行の指定列の値を返すことに挑戦した。 infoment.hatenablog.com今日も、前回の続きから。 ListBoxについて個人的に、今まで何度か需要があったのがこちら。 指定キーワードで、リストボ…

ListBoxを操作するクラスモジュール ④ 選択行の指定列の値を返す

ListBoxを操作するクラスモジュールを、私なりに作成中。 前回は、検索文字を含む行を全て選択してみた。 infoment.hatenablog.com今日も、前回の続きから。 今まで何度も面倒臭さを感じていたのが、こちらの場面。 リストボックス内の1つ以上の行を選択。 …

ListBoxを操作するクラスモジュール ③ 検索文字を含む行を全て選択

ListBoxを操作するクラスモジュールを、私なりに作成中。 昨日は、全選択・全解除・選択反転を行ってみた。 infoment.hatenablog.com今日も、昨日の続きから。 今日は、指定した文字を含む行を全て選択することに挑戦。 そのための作戦は、以下のとおり。 リ…

ListBoxを操作するクラスモジュール ② 全選択

ListBoxを操作するクラスモジュールを、私なりに作成中。 昨日は、リストボックスのリストに配列をあてるまで、を行った。 infoment.hatenablog.com今日は、昨日の続きから。 クラスモジュール(ListBoxControl) 私だけかもしれないが、リストボックスに於…

ListBoxを操作するクラスモジュール ① 配列でリスト作成

ことりちゅんさんに倣い、ListBoxを操作するクラスモジュールを、 私なりに作ってみることにした。 例えば、こんなリストボックスがあったとする。 それで、選択された行(今回も書き易さの都合上、「行」「列」で表現する) に対して何某かの処理をするため…

線を引いて動かす ⑧ まとめ

中学数学の図形問題説明のため、Excelで線を引き動かしてみた。 infoment.hatenablog.com今日は、これらを纏めてみる。 前回は、この5つの角の総和を求める方法を三通り紹介した。 しかし勿論、他にも方法があると思う。例えば、こんな感じだ。 黄と緑は0°…

線を引いて動かす ⑦ 複数の線を同時に動かす

ある理由から唐突に、Excelで線を引いて、それを動かしたくなった。 前回は、角数を指定するだけで正多角形を作成する関数を作成してみた。 infoment.hatenablog.com今回は、複数の線をいっぺんに動かしてみよう。 複数の線をいっぺんに動かすためには、指定…

線を引いて動かす ⑥ 正多角形を描いてみる

ある理由から唐突に、Excelで線を引いて、それを動かしたくなった。 前回は、既存の線の始点と終点座標を得る関数を作成してみた。 infoment.hatenablog.com色々と試す中で、どうせなら正多角形を描いてみたくなった。 今回の作戦はこうだ。 円に内接する正…

線を引いて動かす ⑤ なんちゃらFlip

ある理由から唐突に、Excelで線を引いて、それを動かしたくなった。 前回は、一気に作ったサブプロシージャを、幾つかに分解してみた。 infoment.hatenablog.com今日は、既存の線の始点と終点を求めてみる。 線の位置と形状を知るためには、以下4つのプロパ…

線を引いて動かす ④ 始点と終点を引数とした関数化

ある理由から唐突に、Excelで線を引いて、それを動かしたくなった。 前回は移動前と移動後の線を決めて、そこに至る経過を連続的に描画してみた。 infoment.hatenablog.com今日は、これを関数にしてみよう。 今回の作戦は、こうだ。 少々細切れになるが、線…

線を引いて動かす ③ 動かすのを諦めて書き直す

ある理由から唐突に、Excelで線を引いて、それを動かしたくなった。 前回は線を引いて、それを滑らかに動かそうとして派手に失敗した。 infoment.hatenablog.com今日は、その解決に取り組んでみよう。 前回の失敗は、考えてみれば当然のことで。始点から幅と…

線を引いて動かす ② 滑らかに動かそうとして失敗

ある理由から唐突に、Excelで線を引いて、それを動かしたくなった。 前回は線を引いて、それを別の位置に動かすまでを行った。 infoment.hatenablog.com今日は、もっと滑らかに動かしてみよう。 今回は、このように考えた。 一気に移動させるのではなく、任…

線を引いて動かす ① とりあえず線を引く

ある理由から唐突に、Excelで線を引いて、それを動かしたくなった。 ちゃんとゴールできるか分からないが、挑戦してみよう。 手始めにオートシェイプの線を引いて、それをマクロの記録で見てみた。 なるほど、こんな感じか。 現在編集可能なシートに、図形と…

Index関数も作ることにした

昨日は、Transpose関数を作ってみた。 infoment.hatenablog.comついでに、Index関数も作ってみた。 Transpose関数と同様のテストを行い、Index関数で配列をスライスする際の限界に挑戦してみた。 Sub Test() Dim arr(1, 1) As Variant Dim i As Long Dim tem…

Transpose関数を作ることにした

先日、Transpose関数の限界を知った。 infoment.hatenablog.com仕方ない、自分で作るか。 今回はこちらに倣って、全てではないが、多くを日本語で書いてみた。 www.limecode.jp Function UDF_Transpose(ByVal 元配列 As Variant) As Variant ' 「元配列」が…

4つの数字で10を作る(道半ば)

面白いテーマがあったので、挑戦してみた。 4つの数字で、四則演算を用い10を作る ナンバープレートの数字で、誰でも一度は遊んだことある? 作戦としては、こうだ。 任意の4つの数字を選ぶ。 4つの数字の全ての組合せ(24通り)を得る。 24通りの組合せ…

配列の重複削除 ④ 重複の無い一次元配列を作成するクラスモジュール

先日来、二次元配列の任意の一列から、重複の無い一次元配列作成を試みている。 infoment.hatenablog.com今日は最終回。以前作成したクラスモジュールに、先日作成したユーザー定義関数を含めてみる。 今回行ったのは、以下の三つ。 以前作成したクラスモジ…

配列の重複削除 ③ 範囲やテーブルの任意の一列からも、重複の無い一次元配列を作成してみる

昨日は、二次元配列の任意の一列から、重複の無い一次元配列を作成してみた。 infoment.hatenablog.comしかし、このままでは未だ足りない。もう少し機能拡張してみよう。 ということで、昨日のものを少し弄ってみた。 配列だけでなく、範囲(Range)またはテ…

配列の重複除去 ② 二次元配列から任意の一列を抜き出して新たな配列作成

昨日は任意の一次元配列について、重複除去するユーザー定義関数を考えてみた。 infoment.hatenablog.comしかし実際、自分の場合に限って言えば、一次元ではなく二次版配列の任意の一列を抜き出したうえで重複除去することの方が多い。 そこで、一次元と二次…

配列の重複除去 ① 一次元配列

テーブルの指定列の値を一旦配列に格納し、重複除去してリストを作成するとき、いつも辞書(連想配列)を使っている。 完全にパターン化しているのに、そういえば関数化していなかった。 みんな大好き連想配列は、 key item で構成されている。普通の辞書で…

フォルダの階層構造を書き出してみる ③ ついでにシートに貼り付け

先日、いただいたリクエストに応えて、フォルダの階層構造を書き出してみた。 infoment.hatenablog.comすると、追加でこんなリクエストをいただいた。 「書き出した各フォルダ名に、ハイパーリンクが設定されていたら最高です」 取り組んでみた。まず、ハイ…

フォルダの階層構造を書き出してみる ② ついでにファイルも

先日、いただいたリクエストに応えて、フォルダの階層構造を書き出してみた。 infoment.hatenablog.comといっても、過去記事の焼き直しで、目新しいものは何もない。 ならば、もう少しだけ機能を拡張してみよう。ということで今回は、ついでにファイル名も書…

フォルダの階層構造を書き出してみる

職場で、こんなリクエストをいただいた。 「指定パス以下のフォルダについて、階層構造をExcelに書き出せませんか」ただ羅列するのではなく、階層構造が分かるように書き出せと? 取り組んでみた。 テスト用に、Cドライブ下にフォルダを幾つか準備した。 書…

キャリア別でシートを作成 の続き

先日、配列を編集する自作のクラスモジュール「ArrayEdit」を改修した。 infoment.hatenablog.comしかし、どうにも気持ち悪い。自分でやっておきながら、 「元の配列を書き換える」 という行いが、何だか後ろめたくて仕方ない。ということで何日かかけて、さ…

キャリア別でシートを作成

いつもの、なんちゃって個人情報。 こちらで、キャリア別にシートを作成したくなったとする。 そこで、先日から改修している↓に手を加えてみた。 infoment.hatenablog.com今回も手を加えたのは、RowFilter関数。元々は指定ワードを含むレコードを残すか、ま…

配列のフィルターで指定日の前、或いは後のみのレコードを残す、または削除する

9ヶ月ほど前に、配列を編集する自作のクラスモジュールを纏めてみた。 infoment.hatenablog.comその後、業務などで頻繁に使用しているうちに、幾つか修正点が出てきた。 前回に引き続き今回も、その中の一つをご紹介。 前回紹介した「RowFilte」について、…