テーブル機能

テーブルの列を指定して配列を作成するとき、テーブルの行数によって結果が変わる話(失敗談)

例えば、こんなテーブルについてのお話。 このテーブル(行数可変)で、こんな処理を行ったとする。 Sub Test() ' 名前列の値を配列に格納。 Dim arr As Variant arr = ActiveSheet.ListObjects(1).ListColumns("名前").DataBodyRange ' 一つずつイミディエ…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その10.使用例:其の二~

先日、テーブル間データ転記のためにまとめたクラスモジュールについて、 その使用例を一つご紹介した。 infoment.hatenablog.com今回も、別の使用例を一つ。 今日は、三つのテーブルを使ってみよう。 テーブルD:転記元 テーブルA:転記先 テーブルB:退…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その9.使用例:其の一~

前々回に、テーブル間のデータ転記をまとめたクラスモジュールを作成した。 (正確には、数学の「集合」を扱うクラスに押し込んだ)。 infoment.hatenablog.com 今回は使用例を一つ、ご紹介。 例えば、1年1組と1年2組で国語と数学のテストがあって、その…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その8.使い処~

前回は、テーブル間の転記に関するまとめを自作の「集合クラス」に統合 してみた。 infoment.hatenablog.com 今日は、このクラスモジュールの使い処について考えてみる。 1.VLOOKUP関数で充分では? ユニークな情報をキーに、テーブルから別のテーブルの情…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その7.亜神誕生~

前回までテーブル間の転記について、色々とあれこれと、作っては直しを 繰り返してきた。 infoment.hatenablog.com 今日は、今まで作ってきたマクロのクラス化に関するお話。 今まで似たような機能のプロシージャを作り溜めるたび、クラスモジュールに まと…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その6.転記先にしかないキーを削除~

前回はテーブル間の転記について、転記する列のラベル名を指定して転記 できるよう、機能拡張してみた。 infoment.hatenablog.com今回は、転記先にしかないレコードキーの扱いについて考えてみる。 例えば、このような場合において。 転記先の「A002:みかん…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その5.複数列をラベル名で指定~

前回はテーブル間の転記について、転記元が空白の場合は、転記先へ 上書きする/しないを選択できるようにしてみた。 infoment.hatenablog.com ところで前回までは、一列転記するか全部転記するかの二択だった。 しかし、例えば10列の内7列だけ転記したい場…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その4.空白列を無視~

前回はテーブル間の転記について、転記先にキー情報がない場合は、 キーを追加したうえで情報を転記することに挑戦した。 infoment.hatenablog.com 前回までは、転記元が空白であって転記先に何らかの値が入っている場合、 無条件で空白を上書きしていた。と…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その3.新規レコード追加~

前回はテーブル間の転記について、キー列情報を元にテーブル全体をガバッと転記することに挑戦した。 infoment.hatenablog.com 前回までは、転記元に新規に追加されたレコードのキーが転記先にない場合、 そのレコードは転記されない仕様になっていた。とい…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ ~その2.全部転記~

前回はテーブル間の転記について、配列と連想配列の組合せによる転記を紹介した。 infoment.hatenablog.com 前回までは指定列をキーに、もう一つの指定列を転記対象として処理していた。 つまり、転記対象が一列のみであった。ということで今回は、テーブル…

テーブルから別テーブルへの転記 ③ 配列と連想配列の組合せ

前回はテーブル間の転記について、連想配列を用いて行う方法を紹介した。 infoment.hatenablog.com 今回は、配列と連想配列の組み合わせによる転記に挑戦する。 前回に続き、こちらのテーブルを使用する。 作戦は、こんな感じだ。 1.転記元テーブルのキー…

テーブルから別テーブルへの転記 ② 連想配列による転記

前回はテーブル間の転記について、Findメソッドで検索した結果を用いて 行う方法を紹介した。 infoment.hatenablog.com 今回は、辞書(連想配列)を用いた転記方法に挑戦する。 前回に続き、こちらのテーブルを使用する。 テーブルBのコードと対になる数量…

テーブルに通し番号

テーブルの指定列に、通し番号を付すお話。 例えば、↓こんなテーブルがあるとする。 A列を通し番号にしたいとき、皆さんはどうしているだろうか。 私の知る限り、方法は大別して二つ(というほど大層な話じゃない)。 ベタ打ち 関数で表示 ベタ打ちは、とに…

テーブル機能の備忘録 まとめ

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。今回は、それらをここにまとめておく。 今後もテーブルに関するものがあれば、ここに追加することにしよう。 ・テーブルの指定方法 ・テーブルの範囲指定(1) ・テーブルの範囲指定(2…

テーブル機能の備忘録 ⑨ 範囲の消去(2) 甦る数式

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com 今日は、昨日の続き。 テーブルの利点の一つに、計算式の直感的な理解し易さがある。 例えば、↓ こちらのテーブル。 合計金額の列には、ラベルを用いた計算式が…

テーブル機能の備忘録 ⑨ 範囲の消去(1) 見た目が同じものを見分ける

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com今日は、テーブルのデータ範囲消去についての紹介。 データ範囲の消去 テーブルのデータ範囲を消去する方法は、主に二つある。 一括削除 データ範囲を指定して、…

テーブル機能の備忘録 ⑧ イケてるスタイル

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com今日は、テーブルのスタイルについてのお話。 Excelは既に、テーブルのスタイルを幾つか準備してくれている。 しかしそのどれもが、気分的に何だかしっくり来ない…

テーブル機能の備忘録 番外1 各行をメモ帳に転記

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 今日は、番外編。 ↓ こちらとテーブルのコラボに挑戦。 gorilla-strong.hatenablog.com今回は、テーブルの各行を、メモ帳に書き出してみる。 書き出しに関しては、↓ こちらのSample2を参…

テーブル機能の備忘録 ⑦ ラベル名で列を移動

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com 今日は、たまたま仕事で出くわした課題から抜粋。 「D列とC列を自動で入れ替えられませんか?」 こんな相談を受けた。奇しくも対象は、テーブルとして書式設定…

テーブル機能の備忘録 ⑥ 指定範囲をテーブル化

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com 今日まで何回か続けていて、ハタと気が付いた。 そういえば、テーブルの作成が抜けていた。 指定範囲、例えば下記の選択範囲を、テーブル化してみよう。 マクロ…

テーブル機能の備忘録 ⑤ ラベル名による列の範囲指定

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com 今日は、列の範囲指定についてのご紹介。 例えば下表で、「ふりがな」の列を繰り返し処理したいとする。 このとき、この列を指定する方法は、少なくとも3通りあ…

テーブル機能の備忘録 ④ 列の追加

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com 今日は昨日とほぼ同じで、列についてのご紹介。 テーブルの列を追加する場合、どうすれば良いか。 最も手っ取り早いのは、行の場合と同じだ。列の横に文字を入力…

テーブル機能の備忘録 ③ 行の追加

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com 今日も、昨日のListRowの続きから。 テーブルに一行足したい時、どうすれば良いか。 一番簡単なのは、テーブル範囲の直下に、追加したい文字を入力すること。 あ…

テーブル機能の備忘録 ② テーブルの範囲指定(2)

先日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 infoment.hatenablog.com 今日も、昨日の続きから。テーブルでデータを記載する↓「ボディ」部。 昨日の繰り返しになるが、例えばこのように選択できる。 Sub Test() Dim Tb As Excel.List…

テーブル機能の備忘録 ② テーブルの範囲指定(1)

昨日から、マクロによるテーブル機能の扱いを纏めている(備忘録)。 今日は、昨日の続き。 Excelのテーブルについて、その範囲を指定したい場合がある。 テーブルとして書式設定されていないなら、一般的にはこのような感じだろうか。 Sub Test() ' アドレ…

テーブル機能の備忘録 ① テーブルの指定方法

最近頻繁に、テーブルをマクロで操作することが多くなった。 そこで今回、備忘録を兼ね、テーブルについてまとめてみる。 テーブル機能については、既に多くの方が丁寧に解説されている。 詳細説明は、そちらにお願いするとしよう。設定方法は実に簡単で、主…

テーブルのデータを消すときの注意点(失敗談)

テーブルのデータを消そうとして、失敗した時のお話。 先日から登場している、このテーブルを例に説明する。 このデータを綺麗に消したい時、一番手っ取り早いのは、例えばこんなやり方だ。 Sub test() ActiveSheet.ListObjects(1).DataBodyRange.Delete End…

縦から横か、それとも横から縦か(テーブルの値取得)。

縦から横か、それとも横から縦か。 先日の社内勉強会で、テーブル(表)内の特定セルの値を取り出す操作があった。その時のお話から抜粋。例えば、このようなテーブルがあるとする。この中で、みかんの単価が知りたいとき、どうすればよいか。このとき、縦から横か、…

For Each で1行ずつ処理する ~テーブルの場合~

昨日は、For Each で1行ずつ処理する場合について紹介した。 infoment.hatenablog.com今日は、テーブルの場合についてのご紹介。 本日も、こちらの表で試してみよう。 昨日は、指定範囲のなかの「Rows」(つまり、「行が集まったもの」)について、一行ずつ…

テーブルで特定の列を処理する

昨日は、指定範囲をFor Each ~ Next のループで処理する際、その順序を列方向にする方法を紹介した。 infoment.hatenablog.comところがテーブルを使用すると、昨日の内容と少し様子が変わってくる。 今のところ私が把握しているのは、次の5通り(大別する…