【Excel VBA】配列の次元数を取得する関数コード

スポンサードリンク


ポイント

  • わざとエラーを発生させ、次元数の判定に用いる。
  • On Error Resume Next でエラー発生時もコードの実行を継続させる。
  • UBound 関数を用いて次元を判定する。

“【Excel VBA】配列の次元数を取得する関数コード” の続きを読む

【Excel VBA】Range.Value (2 次元配列) の行・列を操作するクラスのコード

このクラスでできること

何種類もの表に対して、定期的に、同じ内容の編集を何度も繰り返し行う場合に役立つと存じます。同じ手作業を繰り返し行わなくて済むようになりますので、楽ができますの♪

  • 指定行の除去
  • 指定行の抽出
  • 指定した列内で、値の重複している行を削除
  • 指定した列内で、指定した値に一致した行を抽出します。
  • 値の一致した行を削除
  • 下側に 2 次元配列を追加

  • 指定列の抽出(列の入れ替え)
  • 指定した数分の列を最後に追加
  • 列を最後に追加し、指定文字列を挿入
  • 列を別の列へコピー
  • 指定した関数を、列のすべての要素に適用
  • 列の値を更新
  • 右側に 2 次元配列を追加 (指定した 2 次元目が一致する条件で)
  • キー、アイテムとなる列を指定して生成したディクショナリを返す。
  • 列を 1 次元配列として返す。
  • 列を 引数の 1 次元配列で更新

一方で、一度しか行わないのでしたら、本投稿のコードを使う必要性はない、という場合も多いかと存じます。

使うときのポイント

  • シートへの反映は、Range(Cells(起点行, 起点列), Cells(RangeValue.RowCount, RangeValue.ColCount)) のように起点となる行番号・列番号を指定すれば自動的にサイズを調整して反映するので楽。
  • 終点には RangeValue.RowCount・RangeValue.ColCount を指定するだけでよい。
  • MapCol 関数、MapColWithObj 関数はとても処理が遅い。数百ならば問題なかったが、数千処理させたら 1 分以上かかった。なお、配列操作で代替すると処理時間は 1 秒未満だった。

“【Excel VBA】Range.Value (2 次元配列) の行・列を操作するクラスのコード” の続きを読む

【Excel VBA】配列をフラットなコレクションに変換する関数コード

Excel VBA には map reduce がございません。使いたいです (使いこなせているかどうかは別として)!これらのページ等を参考にすればできそうですの♪

map するためには、対象となる集合を用意する必要がございます。Excel VBA ですと配列、特に 2 次元配列を使うことが多いように感じます。これを map にかけるのは、、、なんだか難しそうですのでまずはコレクションで試してみたいですわ。

そのために、まずはコレクションを気軽に作れるようにしたいですわ♪そのようなわけで、どんな配列でもコレクションにする関数を書いてみましたの!

“【Excel VBA】配列をフラットなコレクションに変換する関数コード” の続きを読む

【セブン-イレブン】【2015年版】年賀状をコンビニで写真からコピーして印刷するポイントと手順

が2013年でそれから2年経ちました。地道な改良が加えられ、更に便利となっておりました♪今回は少し変わった手順も含めて、ポイントも交えて投稿いたします。

なお、画像データを直接持ち込みはがきに印刷する機能がコピー機に追加されておりました!これを使えば L 判写真をコピーすることなく、画像データを直接持ち込み年賀状に印刷可能です。しかし本投稿では扱いません。印刷された紙がある前提で解説いたします。

経緯

ネットで届け先の印刷も含めて注文いたしました。ところが

でも書いたように宛名を印刷しない状態のものを含めて注文できませんでした。

もれが無いように気をつけたつもりでしたけれど、やっぱり3枚ほど追加で用意しなければなりません><。

どのみち、年が明けて年賀状が届いたら何枚か増刷しなければならないでしょうし、コンビニで L判写真からのコピーで年賀状に印刷することといたしました。

以前と異なり、操作感が若干変わって持ち込みはがきのセットが少し楽になっております!そのような点も含めて全体の手順をまとめました♪

前提

  • はがきに印刷したい年賀状を L 判写真に印刷した紙が手元にある。
  • 印刷される年賀状 (普通紙。インクジェットはダメ) が手元にある。

ポイント

  • プリント代金は、1 枚 60 円
  • コピー元の写真は、左上に、写真の上端がコピー機の左端と重なるようにをセット
  • 印刷されるはがきはトレイ1の、郵便番号枠を機械の奥側に、印刷される麺を上にしてセット
  • 倍率 116 %。L判写真 → はがきサイズに拡大

“【セブン-イレブン】【2015年版】年賀状をコンビニで写真からコピーして印刷するポイントと手順” の続きを読む

【セブン-イレブン】【2015年版】年賀状をコンビニで画像データ印刷するポイントと手順

経緯

ネットで届け先の印刷も含めて注文いたしました。ところが

でも書いたように宛名を印刷しない状態のものを含めて注文できませんでした。気をつけておりましたけれども、やっぱりもれや、予想外の方から年賀状をいただき増刷いたしました。

そのような機会が何回かございまして最初は以前のやり方でコピーいたしました。けれども、コピー機を操作しているとデータから直接はがきに印刷できることがわかりました。

ですので、今回ははがきデザインの画像データを手持ちのはがきに印刷する方法をまとめました!

用意するもの

  • 印刷する画像データ (そのまま印刷される)
  • 通常用 (普通紙。インクジェットはダメ) の年賀はがき

ポイント

  • デザインの完成した、あとはそのまま印刷だけすればよい画像データを用意する。
    • はがきデザインキットなら、デザインした完成はがきを JPEG データとしてダウンロードできる。これをそのまま使用した。
  • 持ち込むのは通常はがきを使う。インクジェット用はがき、写真用はがきは使用しない。
  • プリント代金は、1 枚 60 円
  • 印刷されるはがきはトレイ1の、郵便番号枠を機械の奥側に、印刷される麺を上にしてセット
  • 倍率 116 %。L判写真 → はがきサイズに拡大
  • 全部で約 15 分かかった。(手順の写真を撮りながらゆっくりと行った)

“【セブン-イレブン】【2015年版】年賀状をコンビニで画像データ印刷するポイントと手順” の続きを読む

【FileMaker】初期データをインポートするときのポイントとスクリプト

環境

  • Windows7 Professional 32bit
  • FileMaker Pro 14 Advanced

状況

  • データベース用のファイルメーカー (以下、FM) ファイルがあり、システム用の FM ファイルが別にある、という構成
  • データベース用 FM へ別の FM からデータをインポートする。
  • データベース用 FM は日々アップデートされ、新しくなったデータベース用 FM がまるごと送られてくる。そのため再びデータをインポートし直す必要がある。

“【FileMaker】初期データをインポートするときのポイントとスクリプト” の続きを読む

【Excel 2013】A1 参照形式または R1C1 参照形式へ切り替える設定方法

手順

  1. [ファイル] > [オプション] > [数式]。または、[Alt] > [T] > [O] > [↓]
  2. [R1C1 参照形式を使用する] にチェック
  3. [OK]

“【Excel 2013】A1 参照形式または R1C1 参照形式へ切り替える設定方法” の続きを読む

【Excel VBA】文字列内の半角カタカナのみを全角カタカナへと変換する関数コード!

ポイント

  • StrConv(string, vbWide) では半角英数記号も全角へ変換されてしまうため一工夫必要
  • CreateObject(“VBScript.RegExp”) を使用して正規表現で半角カタカナを抽出する。
  • 正規表現のヒット結果の集合と Replace 関数を用いて次の順番で処理する。
    1. 正規表現にヒットした部分をループし、
    2. ヒットした部分を全角へ変換した文字列を用意し、
    3. 変換対象文字列に対してヒットした部分を、全角変換後の文字列へ置換する。

“【Excel VBA】文字列内の半角カタカナのみを全角カタカナへと変換する関数コード!” の続きを読む

2016年2月のアクセス解析

先月 2016 年 2 月の 1 ヶ月間の Google アナリティクスの結果です。

  • ユーザー > サマリー(左に先月、右に先々月と比較表示)
  • 行動 > サイトコンテンツ > すべてのページ
  • 集客 > ソーシャル > 参照元ソーシャル ネットワーク
  • 集客 > 検索エンジン最適化 > 検索クエリ

以上の 4 種類の Google Analytics 結果です。

“2016年2月のアクセス解析” の続きを読む