試してみた

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

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

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

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

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

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

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

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

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

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

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

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

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

先日来、2年越しの事件が解決しそうだ。 infoment.hatenablog.com今日は、先日の続きから。 個人的に、追加した右クリックメニューを実行したくなるのは、以下のパターンのとき。 テーブル上のセル又は範囲 ピボットテーブル上のセル又は範囲 上記以外のセ…

目で見て、耳で聞くマニュアル

既に様々なところで紹介されているように、Excelは喋らせることができる。A1に記入された文字を耳で聞きたいなら、マクロで Range("A1").Speak と書けば、読み上げてくれる。これは、マニュアルなどで使えると思った。 目で読むだけでは、なかなか頭に入ら…

ピボットテーブルのボディ部+αに名前をつける

ピボットテーブルのボディ部+αに、名前をつけたくなった。さて、どうしたものか。 今回名前をつけたくなったのは、この部分だ。 DataBodyRangeでは、この部分しか選択されない。 RowRangeプロパティだと、ここ。やっぱり足りない。 ということで、仕方ない。…

等分された円周上の点を線で結んでみる ④ 色などを変えてみる

先日から、等分された円周上の点を線で結んで、きれいな模様を作成することに挑戦している。 infoment.hatenablog.com今日も、昨日の続きから。 昨日までは、単色での描画だった。 そこで今回、以下の三つを設けてみた。 ランダム色 濃淡モード 線種 1.ラ…

等分された円周上の点を線で結んでみる ③ 次の素数を求める

昨日は64等分された円周上の点について、素数個飛ばしで線を結び、模様を作成することに挑戦した。 infoment.hatenablog.com今日は、昨日の続きから。 先日から参考にさせてもらっているサイトによれば、分割数が64である場合、素数は31までを用いている。…

等分された円周上の点を線で結んでみる ② 座標の取得とクラス化

昨日は、等分された円周上の点を、とにかく全部線で結ぶ関数を作成してみた。 infoment.hatenablog.com今日から複数回に分けて、等間隔(素数)で点を結ぶ「糸かけ曼荼羅」を作成することに挑戦する。 線を引くためには、始点と終点の座標が必要だ。そこで、…

等分された円周上の点を線で結んでみる ① 取り敢えず全部

「糸かけ曼荼羅」という言葉を、本日初めて知った。 www.itomandala.comExcelで再現している方をお見掛けして触発されたので、私も挑戦してみた。 実際は素数を用いて作図するらしいが、今回はその前段として、とにかく全ての点を線で結んでみた。手順として…

Pythonで素数判定(練習)のやり直し

先日、練習がてらPythonで素数判定を行ってみた。 infoment.hatenablog.com昨日、値を返す「return」を学習したので、一から作り直してみた。 先日作成したコードがこちら。 import math def prime_number(num): if num<=1: print(str(num)+":×") elif num=…

表の整形

↓ このようなクイズがあったので、挑戦してみた。 上の表のコードについて、「/」で区切られたものを、 各々別の列に転記するというもの。 恐らく世界中のオフィスで、似たような問題に悩んでい方々が居るに違いない。 今回の作戦は、こんな感じだ。 新たな…

フラッシュフィルをマクロの記録で確認

今日初めて、「フラッシュフィル」の存在を知った。 例えば、いつもの「なんちゃって個人情報。 ここに、「ぶっかけ」と追記する。 すると、テーブルが自動で拡張される。 ※ここまでは、フラッシュフィルとは関係がなく、テーブルの機能についての話。 ここ…

ある表を決められたルールで並び替え ④ 決められた行に空白行を挿入するには

先日からの「並び替えに関する課題」について、少しずつ進めている。 昨日は、書き出したコードを、並び替え順を表す数字に置き換えてみた。 infoment.hatenablog.com今日はさらに、決められた行に空白行を挿入してみる。 と言っても、実際に空白行を挿入す…

ある表を決められたルールで並び替え ③ 書き出したキーを並び順の数字に置き換え

一昨日からの「並び替えに関する課題」について、少しずつ進めている。 昨日は、並び替えのキーとなる部分を、正規表現を用い抽出して、表の最終列に書き出した。 infoment.hatenablog.com 今日は書き出したキーを、並び替えの順序を示す数字に置き換えてみ…

ある表を決められたルールで並び替え ② 正規表現で並び替えキーを書き出し

昨日の「並び替えに関する課題」について、少しずつ進めていく。 infoment.hatenablog.com昨日のおさらい。並び替えのキーとなる部分は、先頭のアルファベットではなく、その後に続く空白行のさらにあと、連続する3つのアルファベットである。 ↓ の例であれ…

ある表を決められたルールで並べ替え ① 条件の確認

先日職場で、こんな質問を受けた。「表を、マクロのボタン一つで並び替えたいんですけど、できますか?」私は安易に、「できますよ」と答えた。答えてしまった。 思い出しながら、それっぽく表を再現してみるとこうなる。 この表をシステムから取得するたび…

和英併記 ④ 禁断?の方法で併記

昨日はExcel単語帳から、Dictionaryを用いて表を和英併記化してみた。 infoment.hatenablog.com 今日は最終回、禁断のアレを用いて和英併記化に挑戦する。 といっても、実は大したことではない。単に「ふりがな」に英文を表示してみようってだけの話。では、…

和英併記 ③ Dictionaryで併記

昨日はExcel単語帳から、Findメソッドを用いて表を和英併記化してみた。 infoment.hatenablog.com今日は、Dictionaryを用いた和英併記化に挑戦する。 折角単語帳があるのだから、ここは辞書(連想配列)で対応したい。 今回の作戦は、こんな感じだ。 単語帳…

和英併記 ② Findで探して併記

昨日はExcel単語帳から、Vlookup関数を用いて表を和英併記化してみた。 infoment.hatenablog.com 今日は、Findメソッドでの和英併記化に挑戦する。 今日の作戦は、こんな感じだ。 ループで、表の単語を一つずつ調べる。 単語帳内で検索し、見つけた場合は、…

和英併記 ① Vlookupで探して併記

Excelで作成した単語帳を活用して、表を和英併記したい。 会社で、そんな要望をいただいた。そこで、いくつか方法を考えてみた。 具体的には、例えばこんな感じだ。 直ぐに思いつくのは、Vlookupの活用だ。しかしこの場合は併記のため、 そのままでは使用で…

導関数を求める

面白そうなテーマがあったので、挑戦してみた。「y = 5x^3 + 2x^2 + 7x + 5」の導関数を求めよ導関数なので、微分した式を求める必要がある。 今回は、正規表現で解決してみた。各項を以下のパターンで抽出してみる。 axのb乗 の後に「 + 」または「 - 」…

ユーザーフォームのサイズ変更 ⑤ 操作用フォームを一つ追加

先日は、複数枚の画像をユーザーフォームに表示してみた。 infoment.hatenablog.com今日は、先日の続き。 まず先日の複数のユーザーフォームをNewして増やす手法は、私の独創ではない。書き忘れていたのだが、こちらを参照している。 thom.hateblo.jpそれで…

ユーザーフォームのサイズ変更 ④ 画像の数だけユーザーフォームを作成

昨日は、ユーザーフォームに画像を表示させてみた。 infoment.hatenablog.com今日は、複数枚の画像を、ユーザーフォームに表示してみる。 毎回Canvaからダウンロードしている無償画像を、4つ準備した。 今回の作戦は、こうだ。 指定フォルダ内のファイルパ…

ユーザーフォームのサイズ変更 ③ 画像を張り付けてみる

先日はスピンボタンで、ユーザーフォームのサイズを段階的に変化させてみた。 infoment.hatenablog.com今日はこのユーザーフォームに、画像を表示することに挑戦する。 もともと今回のネタは、画像の中身をユーザーフォームに表示したいというのが切っ掛けだ…

ユーザーフォームのサイズ変更 ② 画面のn分の1サイズ(約数を求める関数の利用)

先日はユーザーフォームのサイズを、スピンボタンで変更してみた。 infoment.hatenablog.com今日は、その続きに挑戦する。 先日は、ユーザーフォームの単位サイズを決め(例 50)、その倍数で横幅を変化させた。しかしもしユーザーフォームを複数枚横に並べ…

ユーザーフォームのサイズ変更 ~ スピンボタンで操作 ~

ユーザーフォームのサイズを、任意に変更したくなった。 ユーザーフォームの端っこを摘まんで、びよ~んとサイズ変更できると有難い。 しかし、そのような機能は無いようだ。そこで、試しにスピンボタンを設けてみた。こんな感じだ。 ' ユーザーフォームの単…