作ってみた

再びトーナメント表作成 ⑥ クラスモジュール作成

先日から、トーナメント表作成の仕組みを焼き直ししている。 infoment.hatenablog.com 今回は、これを一旦クラスモジュールに作り替えてみた。 クラスモジュールにした理由は至って単純で、複数回登場する値を使いまわししたかったら。しかし未熟の致すとこ…

再びトーナメント表作成 ⑤ 人を配置してみる

昨日は、トーナメント表作成時に全大会の上位入賞者を良い感じに 分散する関数における「考慮漏れ」の改修について紹介した。 infoment.hatenablog.com 今日は、実際に人の名前をトーナメント表にセットしてみよう。 今日までに作成した仕組みは、以下のとお…

再びトーナメント表作成 ④ 前大会の入賞者を良い感じに分散したい、を修正

先日から、トーナメント表の作成に取り組んでいる。数回前は、 前大会の入賞者を良い感じに分散させて、例えば前回の1位と2位が 一回戦で対戦しないよう工夫してみた。 infoment.hatenablog.com この中で重大な考慮漏れがあったため、今回はそれを修正する。…

再びトーナメント表作成 ③ 順番をランダムに並べ替えたい-2

昨日は、トーナメントに於いて対戦カードをランダムにするために、 配列の順番をランダムに並べ替えることに挑戦した。 infoment.hatenablog.com 書き始めた時刻が遅かったこともあり、残念ながらタイムアウトとなった。 今日は、昨日の続きから。 理屈の部…

再びトーナメント表作成 ③ 順番をランダムに並べ替えたい-1

昨日はトーナメント表作成において、なるべく全大会の入賞者が初戦で ぶつからないよう、良い感じに分散させることに挑戦した。 infoment.hatenablog.com しかしそうは言っても、完全ランダムで配置したいこともあるだろう。 ということで今日は、配列をラン…

再びトーナメント表作成 ② 前大会の入賞者を良い感じに分散したい

昨日は、選手の人数からトーナメント表のサイズを求めるために、 常用対数を使ってみた。 infoment.hatenablog.com 今日は、前大会の入賞者が一回戦でぶつからないよう、良い感じに分散 させることに挑戦する。 以前トーナメント表作成マクロに挑戦した際は…

再びトーナメント表作成 ① 常用対数が使えることに気づいた

前回まで、賞状作成用のマクロについて紹介してきた。 infoment.hatenablog.com 実は先日の大会の後、「トーナメント作成ツール」についても相談を受けていた。 そういえば随分と前になるが、作ったことがあったっけ。今回は、その焼き直しに挑戦するお話。 …

賞状作成用マクロのクラス化(最終回)

先日まで、順位毎の賞状印刷用データを作成することに挑戦したきた。 infoment.hatenablog.com 今日も、先日の続きから。 実は大会当日の朝に突貫で作成したマクロは、もっと作りが粗かった。 しかしそれでも、何とかその日の大会運営を円滑に行うことができ…

「敢闘賞」はレイアウトが変わる件について

先日まで、順位毎の賞状印刷用データを作成することに挑戦してきた。 infoment.hatenablog.com 今日も、先日の続きから。 試合の前日、担当の先生からの説明によれば、賞状のひな形は二つある とのことだった。 優勝(一位)~三位まで用 敢闘賞(四位)用 …

賞状データ作成

昨日まで「賞状印刷用データ」に必要な項目を、印刷にふさわしい 形に整えることに挑戦してきた。 infoment.hatenablog.com infoment.hatenablog.com infoment.hatenablog.com infoment.hatenablog.com 今日も、昨日の続きから。 おさらいすると、賞状に反映…

無色無味無臭の毒を除去:VBAとワークシートのTrim関数の違い

先日から、「賞状印刷用データ作成マクロ」に挑戦している。 前回は、一位から四位までの選手の氏名を取得する関数を作成してみた。 infoment.hatenablog.com 今日も、前回の続きから。 ja.wikipedia.org ※毒:Poisonとポアソン:Poissonを絡めた駄洒落。今…

選んだ順で一位から四位の名前を取得したい

前回は、「小学3年生女子組手」などを「小学生三年女子 組手の部」のように 一定のルールで成形することに挑戦した。 infoment.hatenablog.com 今日は、前回の続きから。 前回も少し述べたように、一連の作業は賞状印刷用データを作成するためのもの。 賞状…

「小学3年男子形」を「小学生三年男子 形の部」にしたい

先日、「小学1年生」を「小学一年生」に変換すべく、文字列に 含まれるアラビア数字を漢数字に置き換える関数を作ってみた。 infoment.hatenablog.comところがよくよく確認してみると、要件はもう少し複雑だった。 修正してみよう。【要 件】 小学生、中学…

小学3年生を、小学三年生にしたい

Excelで、「小学1年生」から「中学3年生」までのアラビア数字を、 漢数字に置き換えることになった。しかも、100回以上。ということで急遽、関数を作ってみた。作戦は、こんな感じだ。 正規表現で、数字を抽出する。 抽出した数字を、漢数字に変換する。 …

フォルダコピーとファイルの移動 ~ ⑦ まとめ ~

頂いた問い合わせに基づき一連のマクロを作成する過程を、前回までの 都合6回にわたりご紹介してきた。今回は、そのまとめを行う。 今回の要件は、纏めると以下のとおり。 【環境】 フォルダA下に、フォルダB1,B2,・・・が存在する。 その各々に、yy…

フォルダコピーとファイルの移動 ~ ⑥ 移動したファイルの圧縮 ~

先日は、フォルダの移動中に中断処理を追加してみた。 infoment.hatenablog.com 今日も、昨日の続きから。 リクエストの最後の条件は、以下のとおり。 移動先で、ファイルを圧縮したい。 圧縮は、ファイル単位で行いたい。 圧縮後、圧縮前ファイルは削除した…

フォルダコピーとファイルの移動 ~ ⑤ 処理の中断 ~

先日は、フォルダの移動結果をシートに入力するところまでを作成した。 infoment.hatenablog.com 今日も、先日の続きから。 リクエストによれば、処理の中断処理が必要だ。しかも非常停止ではなく、 繰返しを抜ける処理だ(サイクル停止)。そこで、シートに…

フォルダコピーとファイルの移動 ~ ④ ログを出力 ~

昨日は、あるフォルダを別のフォルダへ移動する操作を、連続で行うところまでを作成した。 infoment.hatenablog.com 今日も、昨日の続きから。 うっかりしてた。移動の成否と、移動前後のフォルダパスを記録しなければ ならなかった。記録用ログファイルは、…

フォルダコピーとファイルの移動 ~ ③ 連続で処理 ~

昨日は、あるフォルダを別のフォルダへ移動するところまで作成した。 infoment.hatenablog.com 今日も、昨日の続きから。 今回は、指定フォルダ下にある判定対象フォルダを、連続で処理してみる。 各フォルダの名前を取得して判定などに使用するわけで、検討…

フォルダコピーとファイルの移動 ~ ② 移動先のフォルダ作成 ~

昨日は、いただいた問い合わせ内容を整理しながら、テスト環境を作成してみた。 infoment.hatenablog.com 今日も、昨日の続きから。昨日の記事を書いた後、質問された方から幾つか条件の訂正連絡があった。 フォルダの移動先に、フォルダAは最初からは存在…

フォルダコピーとファイルの移動 ~ ① 必要な条件を書き出してみる ~

先日、このような問い合わせをいただいた。 そこで、私の場合どのようにゴールするか、検討過程も含めて紹介しようと思う。 ※現時点でこの課題は、未解決の状態です(超見切り発車)。 あるフォルダから、別のフォルダへファイルを移動したい。また、移動先…

Excelで二個の平方数の和を求める

前回は、Excelで素因数分解をやってみた。 infoment.hatenablog.com なぜ、素因数分解をやってみたか。そもそもの切っ掛けは、こちらの動画を 見たことだった。 ※再生すると音が出るので、ご注意ください。 youtu.be 合成数が2つの平方数の和で表される条件…

Excelで素因数分解

前回は、Excelで素数判定をやってみた。 infoment.hatenablog.com なぜ、素数判定をやってみたか。そもそもの切っ掛けは、Excelで素因数分解って どんな風にやれるかな?と思ったこと。というわけで、やってみた。 素因数分解 (そいんすうぶんかい、英: prim…

素数判定(再び)

2年ほど前に、素数判定のユーザー定義関数を作ってみた。 infoment.hatenablog.com 見返してみると、改善可能な個所がいくつかあった。この2年で、 私も少し成長したようだ(当社比)。 といっても、改善点は以下の二つのみ。 4以上の偶数は素数ではない…

取り消し線が設定された範囲の文字を除去したい

先日、こんな相談を受けた。 「Excelで、文字列の一部に取り消し線が設定されているのですが、 その部分だけ除去して別のセルにコピーできませんか?」 ということで、挑戦してみた。 依頼内容を視覚化すると、↓ こんな感じだ。 取り消し線が付された文字を…

Applicationのまとめ(一部)

先日から、処理速度に影響する画面更新などを一時停止する クラスモジュールを作成している。 infoment.hatenablog.com 今日は、そのまとめ。 先日来、どちらにするか悩んでいたのが、↓ の 「Call Init」の個所。 初期化と同時に、自動で初期設定している。…

指定パターンのシート名のみ纏めて削除または残す

前回は指定文字を含むシート、または含まないシートを纏めて消してみた。 infoment.hatenablog.com 今日も、前回の続きから。 自動処理をする過程で、例えばこのように、年月を6ケタの数字で表した 名前のシートが複数登場する場合がある。 これらを「数字…

指定文字を含むシートのみ纏めて削除または残す

前回は、マクロの処理速度に影響しそうなものを纏めて止めてみた。 infoment.hatenablog.com今日も、前回の続きから。 マクロで自動処理する際、一時的な作業用シートを作成する場合がある。 そこで一時的なシートには、消去の可否を示す目印をつける場合が…

処理速度に影響しそうなものを纏めて止めてみる

昨日は、警告を出さずにシートを削除してみた。 infoment.hatenablog.com今日も、昨日の続きから。 シート削除時の警告メッセージのように、自動処理中の速度を低下させたり 中断するもの。私の認識では、それは以下の4つだと思う。 画面更新(ScreenUpdati…

シート削除時の警告を表示しない

昨日、こんなブログを書いてみた。 infoment.hatenablog.com書いてみて気が付いた。Applicationと書くのが面倒くさいのではなく、 このようにスイッチを切ったり入れたりするのが、実は面倒なんだと。 ' 警告表示を一時停止。 Application.DisplayAlerts = F…