2021-01-01から1年間の記事一覧

非表示状態のA列を再表示

次のようなご質問をいただいた。 A列を非表示にしてしまうと再表示するのが大変になるのはマクロで解決できますか? A列を非表示にするとは、このような状態を指すと思われる。 恐らく、再表示する方法はいくつかあるだろうが、パッと思いつくのは 次の3…

表の作成あれこれ ④ 複数の同じ項目は縦に並べる

Excelで作られた売り上げ管理表で、横長になるのを避けたい。 そんな相談を受けたことがある。実際の管理表は、雰囲気だけを 再現するとこんな感じだった。 これは確かに、横に長くなる表だ。Dさん、Eさんと増える毎に 3列ずつ横に伸びていき、入力のため…

表の作成あれこれ ③ 取り消し線で訂正しない

Excelで作られた定価表で、面倒な編集を何とかしたい。 そんな相談を受けたことがある。実際の定価表は、こんな感じだった。 これは、手書きの表をExcelで忠実に再現した、よく見かけるパターンのやつじゃ ないか。しばらく眺めてから、依頼者に訊いてみた。…

表の作成あれこれ ② コード管理で揺らぎを抑制

Excelで作られた販売管理表をもとに、売り上げを集計したい。 そんな相談を受けたことがある。管理表の顧客名は、こんな感じだった。 しばらく眺めてから、依頼者に訊いてみた。(幸い客先名称を管理する 客先名称コードがあったので、)こんな感じに直して…

表の作成あれこれ ① 日程は開始日と終了日で表現

Excelで作られた管理表Aから日付を抽出し、別の管理表Bで再利用したい。 そんな相談を受けたことがある。管理表Aの日付は、こんな感じだった。 しばらく眺めてから、依頼者に訊いてみた。管理表Aを、こんな感じに 直してもいいですか? 特に、A社のよう…

OR の 代わりに Like を使う

最近のお気に入りは、OR演算子の代わりに、Like演算子を使うこと。 使える場面は限られるが、例えば下記のような場合。<条件> 文字列の一文字目がAまたはBまたはCのとき、〇を返す。 上記以外の場合、×を返す。 昔は、こんな風に書いていた。 Function …

社名をキーに、各商品の合計額を求めるアレコレ の続き

前回、こちらの記事を作成した。 infoment.hatenablog.comところが、よくよく確認してみると、テーマの趣旨を取り違えていた。 各社各商品の売り上げ記録を合計せねばならぬところ、売上表を価格表と 取り違えてましたm(_ _)m。ということで、改めて考…

社名をキーに、各商品の合計額を求めるアレコレ

コロ子さんのブログに書き込みしたところ、過去記事を紹介していただいた。 koroko.hatenablog.com念のため、おさらい。 ↓のような表に於いて、社名ごとに商品の合計額を知りたい。 私の過去記事では、 辞書に、全商品の金額を格納した配列をセットするパタ…

50円単位で切り上げる(失敗談)

かつて(10年以上前に)、このような相談を受けたことがある。 Excelで、金額を50円単位で切り上げたい。 例えば、34円を切り上げて50円にしたい。 しかし、十の位を切り上げれば100円に、一の位を切り上げれば40円と なって、50円には届かない。さて、どう…

配列からの値貼り付けに関する覚書 ③ ところどころに数式を含むテーブルに、レコードを丸ごとベタッと貼り付けたい

先日、四苦八苦した体験談からのご紹介。 例えば、こんなテーブルがあるとする。 このテーブル、実は年齢の列だけ数式がセットされている。 このような条件のもと、レコードを追加したい。 例えば、この追加レコードを配列に格納して、テーブルに ベタっと追…

複数あるExcelファイルを開いて列幅調整

先日、このような困りごとをお見掛けした。 システムから吐き出された複数のExcelファイルがある。 機械的に吐き出されているため、列幅未調整で、文字が見切れている。 これらのファイル全てについて、列幅を自動調整する必要がある。 挑戦してみた。 まず…

配列からの値貼り付けに関する覚書 ② 値と数式の混在は成立しない場合がある(失敗談)

先日体験した失敗談からのご紹介。 例えば、こんなテーブルでのお話。 納期は基本的に、発注日の14日後だ。 ところが、このテーブルの使用者から、こんな要望が寄せられた。 果物によっては、納期が変わる場合があって、納期のセルを上書きしたい。 上書き…

配列からの値貼り付けに関する覚書 ① Transpose関数とIndex関数は極力使用しない

ここ一週間ほど、(私にとっての)大規模マクロを作成していて、泥沼に はまっている(絶賛継続中)。そこから抜け出そうとして得た教訓を一つ二つ、覚書として残しておこう。 例えば、こんなテーブル。 これについて「品名列をF2~F4に転記したい」とする。…

失敗談の失敗再現を失敗していた話(失敗談)

以前、失敗談としてこんな話を書いた。 Transpose関数には、行列入れ替えの上限があるらしい、という話だ。 infoment.hatenablog.comところがよくよく調べてみると、失敗談として紹介したかった内容を、 正しく再現できていないことに気づいた(偶然)。当時…

OR関数についての備忘録

今日はOR関数について、自分用の備忘録(すぐ忘れるので)。 例えば、指定した県が北陸三県であるか判別したい場合。 ユーザー定義関数でORを用いると、このような表現が可能だ。 とても一般的で、理解し易いと思う。 Function Is北陸_OR(県名 As String) …

辞書には配列を入れることもできるし、辞書を配列にすることもできる

今日は、辞書(Dictionary)について気づいたお話。 辞書には、色んなものが入る。例えば、配列も入れられる。 例えば、毎度おなじみ「なんちゃって個人情報」にて。 名前をキーにして、各行を配列に格納したのち、それをアイテムにしてみる。 Sub Test() ' …

セルの値を合計するマクロ

↓ こちらが面白い。 www.atmarkit.co.jp中でも、登場人物のこの会話が楽しくて好きだ。 「セルの値を合計するマクロができたぞ……!」 「そういう再発明もたまにはいいですよね」ということで、私もセルの値を合計するマクロを作ってみた。 この飛び飛びの範…

二回宣言すると怒られる

Excel VBA では、同じ変数を二回宣言すると怒られる。 例えば、こんな感じだ。 変数の型を変えても、見逃してはもらえない。 ところが先日、自分では意図せず、このように宣言したものが あることに気づいた。 片方は、モジュールレベル変数。同一モジュール…

昔のアニメ映画の予告編みたいな文字送り

今も印象深く心に残っているのが、小学生の時に見たアニメ映画 「幻魔大戦」 の劇場予告編だ。↓ ※音が出たらマズイ人は、ご注意ください。 youtu.beこの「幻魔大戦」の4文字の出し方が、子供ながらに格好良いと 思った。そこで今回は、これをExcel で疑似的…

スケジュール管理表を作成 ⑩ まとめ

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。 前回までで、一応の完成を見せたスケジュール表。 数日間にわたり、業務で使用してみた。結果、幾つかの細かな修正を経た ものの、全体的に問題なく…

スケジュール管理表を作成 ⑨ 実行中の作業を中断

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。例えば、こんな予定を立てていたとする。 ところが「●●ユニット」を構想し始めて30分経った頃、上司からの指示で 打ち合わせを行うことになった。こ…

スケジュール管理表を作成 ⑧ 前日の続きからシート作成

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。 例えば、こんな感じで一日を終えたとする。 この日最後に終えた案件Fについて、実は二通りのパターンがある。 きっちり最後まで終えて帰宅した。 …

スケジュール管理表を作成 ⑦ 案件追加用フォーム作成

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。 例えば、実施内容のCとDの間に、新たな案件を追加したいとする。 現状は、行を挿入したうえで実施内容と作業予定時間の入力を、それぞれ 手入力で…

スケジュール管理表を作成 ⑥ セルのダブルクリックで終了時刻を15分単位で入力

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、前回の続きから。 その案件が終わって、終了時刻を入力するとき。手入力するならば都度、 時計に目を向けねばならない。また、タイプミスが起きる恐れもある。 そこで…

スケジュール管理表を作成 ⑤ その日に出来る範囲を把握してみる

先日から、スケジュール管理票をExcelで作成している。 infoment.hatenablog.com 今日も、先日の続きから。 これから少し、シートの塗りつぶしなどによる見える化も行っていく予定。 そのために、見た目は極力質素にしておきたい。ということで、見た目を少…

スケジュール管理表を作成 ④ 見込み時間の長短を視覚でとらえる

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、昨日の続きから。 先日から作成しているスケジュール表は、今のところ見た目は文字と数字の 羅列であり、ガントチャートのような視覚に訴える効果は無い。 実は昨日突…

スケジュール管理表を作成 ③ 列名をEnumで管理

先日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日も、昨日の続きから。 昨日作成したユーザー定義関数で、一つ大きな抜けがあった。 関数自体に抜けがあったわけではなく、関数に使用したEnumを掲載して いなかったのだ。…

スケジュール管理表を作成 ② ユーザー定義関数でIF文の多重入れ子解消

昨日から、スケジュール管理表をExcelで作成している。 infoment.hatenablog.com 今日は、昨日の続きから。 昨日は、数式で以って終了予定時刻を算出した。 実はこれに、もう少し条件の追加が必要だ。しかしこれ以上、IF文の多重 入れ子構造になると、ぱっと…

スケジュール管理表を作成 ① 案件の追加と差し込み

一年の計は元旦にあり。ということで、元旦を10日も過ぎてしまったが、 スケジュール管理表を作成してみよう。 個人的に、予定管理において特に重要な項目は、以下の三つと考える。 時間管理 予実管理 優先度管理 そこで、管理項目を以下に書き出してみた。 …

表で累積を表示したい

職場で、「Excelの表で累積を表示したい」という相談を受けた。 さて、どうしたものか。 今回は、以下二つの制約があった。 表は、2行がセル結合で1レコードになっている。 途中のレコードを削除する場合がある。 例えば、こんな感じだ。 良し悪しはさてお…