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

三次元CAD描画的思考で罫線を引く

このようなお題が、Twitter上でつぶやかれていました。方眼紙Excelの正しい使い方。 pic.twitter.com/a05wFJpatH— waenavi (@waenavi_jp) August 31, 2018図形を描画する場合、特にそれが3次元である場合、代表的なものとして以下3つの方法があります。 足…

1マス1文字の入力支援

先日こちら↓で、Excel 方眼紙の入力支援機能が紹介されていました。www.excelspeedup.com私も今までに何度か、「1マス1文字」の帳票に出くわして入力支援機能を盛り込んだことがありましたので、便乗して参考までに紹介します。 例)5桁の数字を入力 1マ…

ログインIDの取得

あるコード表の編集を自動化するにあたり、「いつ、誰が編集したか?」を記録することになりました。検討の結果、私の所属する部門では 「誰が」=「どの端末で」 を意味しているため、ログインIDを自動で記録することに。そこで過去の自分を振り返り、そ…

「これはリンゴですか」を複数言語で。

学生時代に、英単語を分解すると覚えやすく、またある程度意味を推測しやすいと習った覚えがあります。 例えば「Pre」が頭につく単語は、事前に何かを行うという意味があるようです。 Predict は Pre + Dict で「前」の「言葉」であることから「予言する」 P…

セルの結合とテキストボックス

どのような書類も、Excel で作成してしまう人がいます。その是非は兎も角として複数行の文章を書く場合、主に次の4パターンがあるようです。 ① 行幅および列幅のサイズで調整。 ② レイアウトに合わせて、複数セルを結合する。 ③ 改行で行を変える(日本語っ…

心理歴史学と鹿の王とVBA

今回は、支離滅裂な題名が示す通り、雑感です。 心理歴史学 鹿の王 業務改善とExcel VBA おわりに 心理歴史学 心理歴史学は、SF小説「ファウンデーション」シリーズに登場する架空の学問です。集団の数が充分に大きい場合、社会的・経済的影響が集団に与え…

校閲ツールで修正した結果の履歴

昨日は、Excel で Word のように校閲するサブプロシージャを、ユーザーフォームに組み込んでみました。infoment.hatenablog.comこれについて、はけたさんから「履歴を残してはどうか」とのご提案を頂きましたので、挑戦してみました。今回はとりあえず、履歴…

「Excel 上での校閲ツール」の実用化

先日のブログで、「Excel 上で Word のように校閲履歴を残す」を紹介しました。infoment.hatenablog.com私が作成したものは不完全でしたが、thom さんから改良(というより新作)をいただく(?)ことが出来ました(感謝!)。thom.hateblo.jpこれは、業務で…

「シートをコピーして新たなブックを作成したらサイズが変わる」事件(未解決)

先日 Excel について、ある調査を依頼されました。カメラ機能で作成した図を含むシートについて、同シートをコピーして新たなブックを作成したところ、この図のサイズが勝手に変わってしまうというのです。この問題について、オブジェクトの固定などで解決を…

Excel でビンゴ の続き ~ 抽選している気分を醸し出す視覚効果 ~

先日、ビンゴ抽選用のマクロを作成した話を紹介しました。infoment.hatenablog.comその後、親戚で集まった際にもう一度使う機会があって、少し改修してみました。[改修内容] 抽選前にランダムな数字を複数表示し、高速で10回切り替える。 切り替えるたびに…

リストの絞り込み の続き⑧ ~ この本棚見える化ツールの使いどころ ~

昨日は、今まで作成したコードのスリム化を図るために、一部のコレクションを配列に変更しました(※コレクションの配列化ではありません)。infoment.hatenablog.com今日は最終日として、これが実際に使用されている場面を紹介します。 元々このマクロは、あ…

リストの絞り込み の続き⑦ ~ 登録をコレクションではなく配列に変更 ~

昨日は、複数ある似たようなコードをクラスモジュールで一まとめにすることで、コードのスリム化を図りました。infoment.hatenablog.com今回は、各本の登録の仕方を少し変えてみます。今回のように、本に関する全ての情報を取り込む際、予めリストから本の全…

リストの絞り込み の続き⑥ ~ いずれかのリストボックスがクリックされたことを検知する ~

昨日は、本棚を表すセルをクリックするたびに、リストボックスの内容が更新されるようにしました。infoment.hatenablog.com本日は機能拡張を一旦終え、今までに作ったコードのスリム化に挑戦です。 やはり一番気になるのは、ユーザーフォームのリストボック…

リストの絞り込み の続き⑤ ~ 各棚のリストをユーザーフォームが開かれた状態で更新 ~

昨日は、選択した本棚の蔵書リストが表示されるよう、リストボックスを追加しました。infoment.hatenablog.comしかしこのままでは、せっかく Modeless でユーザーフォームを呼び出したのに、違う本棚を選択してもリストが更新されません。 そこで今回は、ユ…

リストの絞り込み の続き④ ~ 各棚の本をリスト表示 ~

昨日は、題名が重複していても、別の本として認識できるようにしました。infoment.hatenablog.com今日は、「どの棚にどの本があるか」の情報も見える化してみましょう。 具体的には、以下の通りにします。 本棚を示すセル選択 ⇒ セルの色と文字色を変更 同セ…

リストの絞り込み の続き③ ~ 重複する名前を別物として認識させる ~

昨日は選択した本の所在を、レイアウト図で見える化してみました。infoment.hatenablog.comしかし実は、昨日までの方式には、ある重大な欠陥があります。それは、同じ題名の本が複数冊ある場合に対応できない点です。例えば、「ソラリスの陽のもとに」という…

リストの絞り込み の続き② ~ 選択した資料の所在を見える化 ~

昨日は、絞り込んで選択した本の詳細情報を表示させました。 infoment.hatenablog.com今回はさらに、「選択した本がどこにあるか?」を見える化してみます。 まず、書籍テーブルを含むシートを「書籍データ」と名付けます。 次に、部屋の簡易見取図として「…

リストの絞り込み の続き① ~ 絞り込んだ結果の詳細表示 ~

以前、リストの絞り込みを行う方法を紹介しました。infoment.hatenablog.comただ、これだけでは少々物足りない。絞り込んだ結果で何かをして、はじめて意味があります。そこで前回の本棚を例に、絞り込んだ結果の使い方を幾つか考えてみましょう。まず実際の…

7月の最終金曜日を求める の続き

先日、「7月の最終金曜日を求める」をテーマにお話ししました。infoment.hatenablog.com後日続編として「金曜日が休日の場合、その1週間前を最終金曜日とする」をテーマに勉強会を開催したので紹介します。まず、金曜日がお休みとなる条件は、主に以下の通…

Excel でビンゴ

お盆に家族で実家に行くと、孫たちの遊び用にと、幾つかの玩具やゲームが 揃えられていました。その中に100円ショップで購入したビンゴゲームの カードがあったのですが、抽選(?)用のガラガラ(?)がありません。 娘が「ビンゴしたい!」と私の周りを…

StrConv関数とライス小の大盛り

Excel には StrConv関数という、文字変換用関数があります。 例えば以下のような感じです。 Sub StrConvSample() MsgBox StrConv("バナナ", vbWide) End Sub String(文字)Convert(変換)で、「バナナ」が vbWide つまり全角の「バナナ」に変換されたわけです…

再計算で2倍に(失敗談)

これを書いているのは夏真っ盛りなので、夏らしく怖い話を一つ。 15年ほど前に業務で、ある発注書(※1,2)で物を手配した時のことです。 ※1 Excel で作成されている。 ※2 今は使用していない。例えば装置2台で手配品が3個/台の場合、2台×3個で計6個が…

文字の修正(失敗談)

本来 Word などで作成すべき文書が、なぜか Excel で作成されていることがあります。同書類を校閲する機会が何度もあって、↓ のような感じで修正するのですが、これがかなり面倒くさい。Word なら、簡単に履歴が残せるのに。ということで、随分前になります…

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

昨日は、追加したはずの右クリックメニューが表示されないケースを紹介しました。infoment.hatenablog.comその後しばらくして、また同じ相談が寄せられました。上記の経験があったため、私は直ぐに「標準」表示にするよう伝えました。ところが、それでも解決…

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

先日 Excel について、ある調査を依頼されました。 追加したはずの右クリックメニューが、表示されなくなったというのです。↓ 以前出ていたメニュー(イメージ)↓ メニュー追加マクロ Sub AddNewMenu(new_caption As String, new_action As String) Dim NewM…

無作為に5個選ぶ方法

通常、品質保証の観点から、製作した商品は全数検査します。しかし、ある省庁へ申告するための検査値については、「無作為に抽出した5台の測定結果を、その装置の代表値としてよい」という制度があります(要事前審査)。測定前に代表値で申告できるので、…

時刻の簡易入力

時刻を入力するとき、テンキーから「:」の行き来が長いという話がありました。 そこで、ピリオドで代用するユーザー定義関数を作ってみました。 Public Function ToTime(val As Double) As Date Dim seq As Variant seq = Split(val, ".") If UBound(seq) =…

プロシージャの名前(上手くいかなかったお話)

物づくりには、「モジュール化」という手法があります。tech.nikkeibp.co.jpざっくり言うと、「標準化した部品の組み合わせで製品を設計する」ことのようで、私は勝手に「レゴブロック」をイメージして理解しています。歯車の設計にも、「モジュール」が登場…

上旬・中旬・下旬を求める関数

先日 Excel について、相談を受けました。 ある管理表において、表内の日付を「上旬・中旬・下旬」で分類し、記載行数を変えて それを表現したいというのです。詳細データとして、別に具体的な入庫日と入庫品目名 および 数量一覧があるのですが、その入庫日…

二次元配列でJOIN関数が使えない

かつて、範囲から値だけを抜き出して、配列に格納できることを知った私は 思いました。「これは良いことを学んだ。指定列の値を結合する際に使えそうだ」具体的には、こんな感じです。 Sub JoinTest() Dim seq As Variant seq = Selection MsgBox Join(seq, …