試してみた

円弧を伸ばしたり縮めたりしてみた

ふと思いついて、円弧を伸ばしたり縮めたりしてみた。 Sub Test() Dim Arc As Excel.Shape Set Arc = ActiveSheet.Shapes.AddShape(msoShapeArc, 200, 100, 80, 80) Dim i As Long For i = 0 To 1800 Arc.Adjustments.Item(2) = -i * 2 Application.Wait [No…

セル内改行で作成されたリストを、力業でテーブル化

先日他部署から、このようなリストが回ってきた。 実物は載せられないので、雰囲気だけ再現。 なお詳細区分のセルは、一つのセル内で改行して記載されている。これを更に別の表と突き合わせて、対照表を作成する必要がある。 とてもとても、遣り難い。という…

数独(再挑戦)⑧ 必殺の一マスを見える化。そして総まとめ。

昨日は数独の解法において行き詰まり、禁断の「総当たり」に手を出した。 infoment.hatenablog.com 私の脳では、これが精いっぱい。 あれこれ試したところ、現時点でのマクロでも正解に辿り着けない問題があった。完璧には、まだまだ届かぬようで。そこで今…

数独(再挑戦)⑦ 禁断の総当たり

前回は、行・列および3×3の範囲に候補となる数が一つしかないなら、その数で確定させてみた。 infoment.hatenablog.com今日はいよいよ、禁断の「総当たり」に挑戦する。 出来れば、最後の最後まで論理的に解きたかった。しかしこれ以上は、マクロが複雑に…

数独(再挑戦)⑥ 一つしかないなら、それで確定(の続き)

昨日は、行内に一つしかない数字があったならば、その数字でセルを確定させることに挑戦した。 infoment.hatenablog.com昨日は「行」を作成したところで時間切れ。今日は残りに挑戦する。 単純に1行ないし1列抜き出して調べるのは、あまり難しくない。しか…

数独(再挑戦)⑥ 一つしかないなら、それで確定

昨日は計算過程を一巡する毎に答えを張り付けて、途中経過を見える化してみた。 infoment.hatenablog.com今日は、現時点で解ききれない問題について考えてみる。 探してみると、こちらの問題を解き切れなかった。 それでは、この中身を見てみよう。 すると、…

数独(再挑戦)⑤ 計算の途中結果を見える化(寄り道)

昨日は、数独の計算結果をセルに戻すことに挑戦した。 infoment.hatenablog.comすると、一回ずつ貼り付けて経過を見てみるという案を、コメントでいただいた(いつも有難うございます)。そこで、今回はちょっと寄り道。計算の途中結果を見える化してみよう…

数独(再挑戦)④ 27×27を9×9に戻す

昨日は、数独を解くマクロに於いて、確定マスの情報を行と列全体に反映させてみた。 infoment.hatenablog.com今日は、その結果を9×9に戻して、シートに貼り付けてみる。 実は昨日、「行と列全体」と言いつつ、一部しか反映していない。 行全体 済 列全体 …

数独(再挑戦)③ 確定マスの情報を、行と列全体に反映させる

昨日は数独の出題を、27×27の配列に反映してみた。 infoment.hatenablog.com今日は、確定マスの情報を、行と列全体に反映させてみる。 例えば下記のように、黄色のマスが「3」で確定している場合。 このとき、同じ行にある「緑で塗りつぶされた3」は、…

数独(再挑戦)② 確定マスの配列を編集する

昨日は数独について、構想新たに27×27の配列を準備してみた。 infoment.hatenablog.com今日は、実際の出題を配列に反映させることに挑戦する。 まず数独用に、クラスモジュール「Sudoku」を作成した。 クラスモジュール Option Explicit ' 出題された9×…

数独(再挑戦)① 27×27で表現する

少し前に、Excel VBAで数独を解いてみた。機械的な総当たりではなく、人の頭で考えるかの如く作りこもうとして、途中で挫折していた。そこで今回、新たな構想で再挑戦することにした。今回も途中で挫折するかもしれないが、とりあえず、やれるところまで挑戦…

グラフのフォントを変えてみる(四苦八苦した話)

今日は、グラフのフォント変更に四苦八苦したお話。 いつもの「なんちゃって個人情報」から、なんちゃってグラフを作成。 このグラフ全体のフォントを変更したくなった。手っ取り早く、マクロの記録でヒントを探した。 Sub Macro1() ActiveSheet.ChartObject…

10件転記したら、シートを変えて転記再開。

職場で、このような相談を受けた。 ある表からある帳票に、データを10件ずつ貼り付けたい。 毎回、データ数は異なる。5件の時もあれば、55件の時もある。 パソコンが無かったので、この時はホワイトボードに書いて説明した。 本当にそれでうまくいくか、簡…

二次元配列の一部を抽出:指定列番号順にスライス

最近、これの存在を知った。 docs.microsoft.com何ということでしょう。これがあれば、簡単に配列をスライスできる。 今までの苦労は何だったのか。 本日も、毎度おなじみ「なんちゃって個人情報」のお世話になる。 例えば、一旦表全体を配列に格納したのち…

条件付き書式で濃淡をつける

業務で、ある数値を管理している。 予定された大きさがあって、そのとおりであれば「1」(=100%)となる。1を超えた、つまり予定をオーバーしているものは要監視対象として、セルに色を付けて対応していた。今までは、とにかく1を超えれば色が付くという…

数学パズル

先日、イベントで家族と大学へ遊びに行った。数学科のブースでは、例年のごとく算数の問題が幾つか出されている。その一つをマクロで解くことに挑戦した。 【問 題】 整数x,y,zの取りうる組合せ数を答えなさい。 条件1.x,y,zは自然数である。 条…

鶴亀算を解くユーザー定義関数

鶴亀算。つるかめ算。ツルカメ算。個人的には「二元一次方程式」の代名詞的存在だったが、元はそうでもないらしい(今回初めて知りました)。 ja.wikipedia.orgこれをExcelで解くユーザー定義関数を、マクロで作成してみた。 鶴亀算を解くって、どんな時だろ…

指定した原紙シートをコピーして新たなシートを作成し、シート名を指定した名前に変更し、その中の指定アドレスに指定配列を丸ごと貼り付けてついでに列幅まで調整したうえでテーブル化し、最後にそのテーブルを戻り値とする関数

過去に作成して提供した、Excelツールの改修を依頼された。作ったのは、2年ほど前か。中身を見て、愕然とする。その作りの、何と酷いことよ。 その中で、結構な行数を費やしている箇所があった。 ある範囲のデータを、配列に格納する。 「原紙」シートをコ…

配列内の文字を複数条件で置換

文字を置換したい。シート上であれば、これで片が付く。 だが今回は配列内の文字に対し、複数条件で置換したい。挑戦してみた。 折角なので、先日来作成しているArrayEditClassの機能拡張で対応してみた。 作戦は、こうだ。 ParamArrayキーワードで、置換前…

新規シートを追加してから貼り付け の続き

先日、配列をシートに貼り付ける際、新規シートを追加してから貼り付けられるようにしてみた。 infoment.hatenablog.comこのマクロには問題があった。例えば配列を「新規シートのA1」に貼り付ける際、引数を渡した時点で「新規シートのA1」は存在しないため…

新規シートを追加してから貼り付け

昨日の記事で、次のような操作を行った。 シート追加 配列貼り付け infoment.hatenablog.com 日々、それなりに登場する操作だ。 唐突に、「毎回シートを追加する」のが面倒くさくなった。 そこで、配列をシートに貼り付ける関数に、新規にシートを作成するか…

指定列の項目毎に、別の指定列について最大値を求める

先日、次のような課題を目にした。 例えば、昨日のなんちゃって個人情報にて。各都道府県の、最年長者を抽出した表を作成したい。 挑戦してみた。 今回の作戦は、こうだ。 指定範囲を一行ずつ、都道府県をキーにして辞書に登録する。 同じ都道府県の場合は年…

名簿マスターから、印刷用にデータを抽出して並べる

昨日は名簿マスターに於いて、頭文字毎の区分けに挑戦した。 infoment.hatenablog.com元々今回のネタは、職場の電話帳改善に端を発している。今回はクライマックス、「名簿マスターから、印刷用にデータを抽出して並べる」に挑戦する。 A4用紙に、何列かに…

イニシャルで区分

昨日は、名簿のふりがなを「ふりがな」「フリガナ」「フリガナ」の三種類で切り替えることに挑戦した。 infoment.hatenablog.com今日は、この名簿をイニシャルで区分することに挑戦する。 本シリーズは元々、職場の「電話帳改善」に端を発している。ヒヤリング…

「ふりがな」と「フリガナ」と「フリガナ」

昨日は情報を持たないセルに、正しいフリガナを設定することに挑戦した。infoment.hatenablog.com本日も、フリガナの設定についてアレコレ試してみよう。昨日、B列(名前列)の漢字に対し、フリガナを設定した。そこで、なんちゃって個人情報本来の書式に戻…

ふりがなの設定

職場の電話帳が、Excelで作成されている。この電話帳を良くしようという、職場の改善活動にまつわるお話。電話帳をそのまま公開できるはずもなく、今回も毎度の「なんちゃって個人情報」のお世話になる。さて、なんちゃって個人情報には、「なんちゃって人名…

特定の文字を含む行をまとめてコピーする

毎度おなじみ、なんちゃって個人情報。 ありがとうございます。いつもお世話になっています。今日はこの表の中から、「カレーの食べ方が混ぜ混ぜ派の人」だけを抜き出して、別シートにコピーすることに挑戦する。 フィルターを使えば、簡単に抽出できる。 こ…

レポートのレイアウトを表形式で表示(ピボットテーブル)

昨日は、指定した内容で配列がサクッと作成される関数を作ってみた。 infoment.hatenablog.com話の流れは、「1から100の偶数の和を求めるワンライナーに対応するため作った」であるが、切っ掛けは別の事案だった。 今回は説明のため、いつもの「なんちゃ…

「オイラーの等式」をExcel で確認してみる

美しい数式といえば、よく聞くのは「オイラーの等式」だ。 式自体の美しさに加え、その導出過程もまた、美しさに満ちていると思う。 wiis.infoそして、ふと思った。Excel でこれを確認することは可能なのか?と。銅銭台座 弥勒仏笑い仏像 布袋様の置物 馬蹄…

選び直すべきか否か(モンティ・ホール問題)

先日偶然に、モンティ・ホール問題の存在を知った。 今更ですか?すみません、今まで知りませんでした。ja.wikipedia.org 「プレーヤーの前に閉まった3つのドアがあって、1つのドアの後ろには景品の新車が、2つのドアの後ろには、はずれを意味するヤギがいる…