2021-01-01から1年間の記事一覧
昨日、テキストボックスのサイズに合わせて、テキストボックス内の 文字サイズを自動で拡大または縮小する関数を作成した。 infoment.hatenablog.comこれでようやく次に進めると思った矢先、問題が発生した。 問題点: Autosizeで最適なフォントサイズを探る…
昨日、テキストボックスのサイズに合わせて、既存機能で中の文字サイズを変更しようとしたが出来なかった。 infoment.hatenablog.com無いものは仕方ない、作るとしよう。 作戦としては、こんな感じだ。 テキストボックスの大きさを一旦、文字の大きさピッタ…
テキストボックス内の文字サイズを、テキストボックスの幅に 合わせて変更したくなった。 ↓ こんなイメージ。 色々と調べるうちに、ここに辿り着いた。 docs.microsoft.comこれは便利!ということで、早速実行してみる。 Sub Macro1() Selection.ShapeRange.…
今回は、連想配列のキーに関する失敗談。 以前、こんな処理を行ったことがある。 業務システムからExcelファイル①を出力。 ①のコード列をキーに、品名をアイテムとして連想配列を作成。 別のExcelファイル②のコードを取得し、連想配列に存在する場合は②の品…
先日、テーブル間データ転記のためにまとめたクラスモジュールについて、 その使用例を一つご紹介した。 infoment.hatenablog.com今回も、別の使用例を一つ。 今日は、三つのテーブルを使ってみよう。 テーブルD:転記元 テーブルA:転記先 テーブルB:退…
前々回に、テーブル間のデータ転記をまとめたクラスモジュールを作成した。 (正確には、数学の「集合」を扱うクラスに押し込んだ)。 infoment.hatenablog.com 今回は使用例を一つ、ご紹介。 例えば、1年1組と1年2組で国語と数学のテストがあって、その…
前回は、テーブル間の転記に関するまとめを自作の「集合クラス」に統合 してみた。 infoment.hatenablog.com 今日は、このクラスモジュールの使い処について考えてみる。 1.VLOOKUP関数で充分では? ユニークな情報をキーに、テーブルから別のテーブルの情…
前回までテーブル間の転記について、色々とあれこれと、作っては直しを 繰り返してきた。 infoment.hatenablog.com 今日は、今まで作ってきたマクロのクラス化に関するお話。 今まで似たような機能のプロシージャを作り溜めるたび、クラスモジュールに まと…
前回はテーブル間の転記について、転記する列のラベル名を指定して転記 できるよう、機能拡張してみた。 infoment.hatenablog.com今回は、転記先にしかないレコードキーの扱いについて考えてみる。 例えば、このような場合において。 転記先の「A002:みかん…
前回まで、テーブル間の転記についてあれこれとマクロを作ってみた。 infoment.hatenablog.com 今日は、小ネタで閑話休題。 基幹システムなどからデータを受け取って成形するとき、個人的に頻繁に 遭遇するのが ↓ このパターン。 日付がyyyymmdd(数字8桁)…
前回はテーブル間の転記について、転記元が空白の場合は、転記先へ 上書きする/しないを選択できるようにしてみた。 infoment.hatenablog.com ところで前回までは、一列転記するか全部転記するかの二択だった。 しかし、例えば10列の内7列だけ転記したい場…
前回はテーブル間の転記について、転記先にキー情報がない場合は、 キーを追加したうえで情報を転記することに挑戦した。 infoment.hatenablog.com 前回までは、転記元が空白であって転記先に何らかの値が入っている場合、 無条件で空白を上書きしていた。と…
前回はテーブル間の転記について、キー列情報を元にテーブル全体をガバッと転記することに挑戦した。 infoment.hatenablog.com 前回までは、転記元に新規に追加されたレコードのキーが転記先にない場合、 そのレコードは転記されない仕様になっていた。とい…
前回はテーブル間の転記について、配列と連想配列の組合せによる転記を紹介した。 infoment.hatenablog.com 前回までは指定列をキーに、もう一つの指定列を転記対象として処理していた。 つまり、転記対象が一列のみであった。ということで今回は、テーブル…
前回はテーブル間の転記について、連想配列を用いて行う方法を紹介した。 infoment.hatenablog.com 今回は、配列と連想配列の組み合わせによる転記に挑戦する。 前回に続き、こちらのテーブルを使用する。 作戦は、こんな感じだ。 1.転記元テーブルのキー…
前回はテーブル間の転記について、Findメソッドで検索した結果を用いて 行う方法を紹介した。 infoment.hatenablog.com 今回は、辞書(連想配列)を用いた転記方法に挑戦する。 前回に続き、こちらのテーブルを使用する。 テーブルBのコードと対になる数量…
このような問いかけがあったので、考えてみた。 在庫管理データから、倉庫別の在庫数を計算したい。 このような場合、手っ取り早い方法の一つとしてピボットテーブルを お勧めしたい。 1. 集計したい範囲を選択する。 在庫数を除く、↓ の範囲を選択する。在…
最近Excelで、テーブル間の転記を自動化する依頼を頻繁に受けている。 そこで、これについて思うところを数回に分けて書いてみようと思う。 例えば、↓ こんな感じのテーブルがあるとする。 ここで、↓ このテーブルの情報を、商品コードをキーにしてテーブル…
高一数学の問題について、長男から質問を受けた。 説明のためにExcelで、aを変化させたときの放物線を描いてみた。この式は、このように変形できる。 従って、 で、下に凸な放物線となる。放物線の軸はとなるので、 の範囲を含ませて、の間で変化させてみた…
Excelマクロを実行中、画面更新を停止すると高速化が期待できる。 と、色々なサイトに書いてある。多くの場合、これは正しいようだ。今回は 「これが効かない場合」の話ではなく、処理が終わった後について思うこと を書いてみる。 私も処理の高速化を目的と…
先日、高校数学の「集合」を、VBAで理解することを試みた。 infoment.hatenablog.com 眺めていて、ふと思った。これって、範囲の引き算に使えないか? 範囲Bから範囲Aを取り除いた、新たな範囲を取得したい。 作戦は至って単純で、こんな感じだ。 範囲…
知らなかった。こんなことが、できたとは。 excel-ubara.com早速遊んでみた。 楽譜は、こんな感じ。一行のうち、左が音階、右が音の長さを表す。 演奏するためのコードがこちら。楽譜を選択して実行すると、曲になる。はず。 Option Explicit Declare PtrSaf…
先日、このようなご質問をいただいた。 短めのコードで特定のセル範囲を編集不可にすることは可能でしょうか? そこで、色々と考えてみた。 今回は、こんな作戦を立ててみた。 ワークシートのSelectionChangeイベントを用いる。 編集不可の範囲を変数に格納…
先日から高校数学の学び直しとして、VBAを用いた集合の理解に挑戦していた。 infoment.hatenablog.com 今日は、今までのまとめから。 ここしばらく業務で使ってみたが、個人的にはそれなりに重宝している。 例えば、こんな感じだ。 帳票Aを、日々更新す…
先日から高校数学の学び直しとして、VBAを用いた集合の理解に挑戦している。 infoment.hatenablog.com 今日も、先日の続きから。 今回は、集合Bから集合Aの要素を除いた差を求めてみる。 差集合(B-A) 作戦は至ってシンプル。 集合Bに相当する配列…
先日から高校数学の学び直しとして、VBAを用いた集合の理解に挑戦している。 infoment.hatenablog.com 今日も、先日の続きから。 今日は、和集合と積集合について考えてみる。 例えば、以下のグループがあるとする。 Aグループ:りんご、みかん、ばなな …
先日から高校数学の学び直しとして、VBAを用いた集合の理解に挑戦している。 infoment.hatenablog.com 今日も、先日の続きから。 先日までは、要素aが集合Aに含まれるか否かの判定を、そして更に集合Aを 一次元配列として、要素aの追加と削除を行って…
昨日から高校数学の学び直しとして、VBAを用いた集合の理解に挑戦している。 infoment.hatenablog.com今日も、昨日の続きから。 集合の理解といいつつ、二日目にして早くも逸脱する。なぜなら集合を配列で表したため、個人的に要素の追加および削除を機能…
子供から、数学の集合について訊かれた。高校を卒業して三十余年、 「そういえば、そんな話もあったっけ?」 ぐらいの認識だ。当時は思考も漠としていて、先生たちの話は常に意識の表層を滑り 抜けていた感覚だけが記憶に残っている(=脳に刺さっていない)…
↓ このようなお題をいただいたので、挑戦してみた。 データをランダムに並べ替えてください。 今回の作戦は、こんな感じだ。 1. 並び変え用の通し番号を格納した、連想配列を作成する。 2. 1~15の中から一つ、無作為に自然数を取得する。 取得は、RANDBE…