2020-08-01から1ヶ月間の記事一覧

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つの同じ数字で1~10を作ってみる

先日、このようなことをやってみた。 infoment.hatenablog.comついでなので、以下にも挑戦してみた。 ・同じ数字を4つ使って、1~10を作ってみる。例えば、1を4つで10は出来ない。そのような場合は、「解なし」とした。 結果がコチラ。 1111~9999のうち、…

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

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

レコード数を絞ってから集計(今まで作成したクラスモジュールの使用例)

ある商品群の在庫リストを作成する際、 「全データでピボットテーブルを作成すると、データが重くなる」 というお話が。そこで、今まで作成したクラスモジュールを使用して、 手軽に作成できないか考えてみた。 使用するデータは、いつもの「なんちゃって個…

配列のある操作に関する限界(失敗談)

今日も、私の失敗談を一つ紹介。 このブログで何度か紹介している、こちらのクラスモジュール。 infoment.hatenablog.comこの中には、二つの配列を比較してその結果を配列として返す関数がある。 例えば、こちら二つの表を比較したい場合。 Sub Test() Dim a…

結局、お茶を濁して終わらせた話(失敗談)

今日は結局、お茶を濁して終わらせたお話。 こちらのブログでも紹介した、ユーザー定義関数「FindAll」。 少し前に、これが誤動作することが分かった。もともと、指定したキーワードがシート状に複数ある場合、そのキーワードを含むセル全てをRangeで返す仕…

ドラえもんの道具を一つ貰えるとしたら(真剣に考えてみた)

ドラえもんの道具を貰えるとしたら、を真剣に考えてみた。 欲しい道具は何? もしドラえもんの秘密道具を一つ手に入れられるとしたら?熱い毎日が続くので、現実逃避してみた。私が欲しいのはずばり、これだ。 ハツメイカーハツメイカーは、「ハツメイカーで…

配列の行または列を切り出し(Index関数)

配列の行または列の切り出しについて、知識があいまいなまま使っていた。 確認してみよう。 Excel VBAにおいて二次元配列の一次元目を行、二次元目を列に準えるとき、 配列のr行c列目の値は以下の式で取得できる。 WorksheetFunction.Index(配列, 行番号r…

配列の行列入れ替え(Transpose関数)

配列の行列入れ替えについて、知識が曖昧なまま使っていた。 確認してみよう。 ワークシートでは、コピーしたものの行と列を入れ替えて貼り付けが出来る。これをマクロの記録で見てみると、こうだ。 Sub Macro1() Selection.Copy Range("D2").Select Selecti…

不連続な範囲を選択(失敗談)

不連続な範囲を、お手軽に選択したくなった。 例えば、A1とC3を選択したい場合。 その場合、このような書き方が可能だ。 ちなみに、↓ こう書くと、 Range("A1","C3").Select これは選択範囲の左上と右下を指しており、この間の全セルが選択されてしまう…

「追加したはずの右クリックメニューが表示されない事件」の真相 ⑥

先日来、2年越しの事件が解決しそうだ。 infoment.hatenablog.com今日は、今回のシリーズのまとめ、最終回。 今回新調した、右クリックメニュー追加用クラスモジュール。 自宅で試して限り上手く行ったのに、職場では期待通りの動作に ならなかった。どうし…

「追加したはずの右クリックメニューが表示されない事件」の真相 ⑤

先日来、2年越しの事件が解決しそうだ。 infoment.hatenablog.com先日は、追加しようとする右クリックメニューが追加済みでない場合に限り、追加を実行するところまで作成した。今日は、前回の続きから。 用が済めば、後片付けが必要だ。 そこで、右クリッ…

「追加したはずの右クリックメニューが表示されない事件」の真相 ④

先日来、2年越しの事件が解決しそうだ。 infoment.hatenablog.com今日は前日までの内容のうち、メニュー追加までを纏めてみる。 何とかの一つ覚え、今回もクラスモジュールにまとめてみた。 クラスモジュール(RightClickCommand) 今回の作戦は、こんな感…

「追加したはずの右クリックメニューが表示されない事件」の真相 ③

先日来、2年越しの事件が解決しそうだ。 infoment.hatenablog.com 今日も、先日の続きから。 右クリックメニューを追加する際、他のマクロで追加された別メニューの有無に関わらず、今までは毎回バツンとリセットしていた。 Sub Test() Dim LoopIndex As Va…