操作方法<ファイル・シート/ユーティリティ>

・単体のExcelマクロ「SuperXLe 複数シートの比較を一括で」の説明は、このページの後方の「ユーティリティ」-「複数シートの比較」をご参照下さい。

・単体のExcelマクロ「SuperXLe 番号入りオートシェイプ生成」の説明は、このページの後方の「ユーティリティ」-「番号入りのオートシェイプを生成」をご参照下さい。

<ファイル・シート>

・最新使用したファイル(**)

最新使用したファイルの履歴リストから複数ファイルを選択してオープンします。Excelオリジナルの機能と異なり、現在存在しないファイルは除外されます。フルパス表示切替、履歴表示ファイル数の指定が可能です。


・全ブックのクローズ

「クローズしないブックを選択」をONにしてどのファイルも選択しないで実行をクリックすると全ファイルが対象になります。

・新規ブック

新規にブックを作成します。


・新規シート

現在のシートの直後にシートを作成します。(Excelオリジナルのコマンドは常に最後尾への追加になります。)


・シート削除

現在のシートを削除します。


・シート選択

複数のシートを選択または削除します。削除の場合は確認のポップアップを表示します。

ブック内に多数のシートが含まれる場合に有効です。


・CSVファイルの一括読み込み

複数のCSVファイルをExcelに読み込みます。経験則で、一度にオープンできるファイル数の上限は、Excel2010で300ファイル程度、Excel2013以上で50ファイル程度になります。2013以降はExcelのアーキテクチャがSDI(Single Document Interface)に変更になっているために、余分にメモリを使用してしまうようです。

当該機能のボタンをクリックします。

確認のポップアップを表示します。Excel2013以降の場合は、対象ファイル数が多いと途中で実行時エラーでExcelが落ちてしまいますので、ファイル数をMax50までとしています。

対象のCSVファイルを選択します。

ファイルオープンが完了しなかったファイルは、対象ファイルが格納されているフォルダの下に「処理未完了ファイル」フォルダが作成されてその中に移動されます。


・CSVファイルの書き込み

複数のExcelシートを固定長のCSVファイルに一度に出力します。CSVファイルのファイ名はシート名が使用されます。

対象のブックをオープン状態にして当該機能のボタンをクリックします。対象シートを選択して実行します。

CSVファイルを保存するフォルダを指定します。


・CSVファイルの分割

任意のレコード数で複数のファイルに分割します。Excelの行数制約(MAX1,048,576行)で1シートに読み込めない場合等に使用します。

当該機能のボタンをクリックします。対象ファイルのチェックを省略しない場合は、「いいえ」をクリックします。この処理には少し時間を要します。

対象ファイルを指定します。

分割行数を1,048,576以下で指定します。ここでは、25万行を指定しています。

対象ファイルの格納フォルダに分割されたファイルが生成されます。ファイル名は、対象ファイル_SXXXX.拡張子(XXXX:0001~9999)になります。


・複数ファイルのマージ(*)

複数ファイルから任意のシートをコピーして、1つのブックにマージします。アクティブシート or 同名シートの指定、マージ後の入力元ファイルの自動クローズ、各シートのウィンドウ枠の固定が可能です。

対象のファイルをオープン状態にして当該機能のボタンをクリックします。

Excel2013以降の場合に、ここでExcelがフリーズしてしまう場合があります。その場合は、タスクバーからExcelを停止して再起動下さい。生成されたファイルは保存されています。原因は調査中ですが。。。


・複数シートのマージ(*)

ブック内の複数のシートを1つのシートにマージします。マージしたシートの左端A列に対象シート名を記入、オートフィルタした行のみのマージが可能です。


(1)全ての行を対象にマージ

当該機能のボタンをクリックします。対象シートを選択して実行します。シートにマージ不要なオブジェクトが貼ってある場合は、「オブジェクトを削除」をONにしておきます。

(2)特定の行を対象にマージ

オートフィルタでフィルタリングした行のみをマージします。

2シート目以降の任意の1シートでフィルタリング設定します。1シート目はシステムで使用されますのでフィルタリングしないで下さい。複数列のフィルタリングが可能です。

下記の例では、A列とD列にフィルタリングしています。

当該機能のボタンをクリックします。「オートフィルタ選択行を対象とする」をONにして実行します。

途中で下記のポップアップが表示された場合は、Excelを再起動する等して下さい。

Excelの限界を超えた処理を行っているのでしょうか? Excel95の頃は、データ量が大きなシートで処理をすると頻繁に停止していましたが、現在でも時々出てきます。


・シート/ファイル/フォルダの一覧/コピー/リネーム/削除(**)

シート/ファイル(ブック)/フォルダを対象に、一覧表示/コピー/リネーム/削除の操作が1つのポップアップウィンドウから起動可能です。

シートのみソートが可能です。

「対象」と「操作」の組み合わせを選択して実行をクリックします。

一覧表は、現在のシートの選択セルを起点に下方向に出力されます。

ソート/コピー/リネーム/削除は、予め対象の名称(シート名、ファイル名、フォルダ名)を任意のシートのセル範囲に記入しておきます。リネームは、リネーム前を左側の列に、リネーム後を右側の列に記入して下さい。対象の名称ブッキング等で処理に失敗した場合は、該当セルが強調表示されます。

以下は「対象」がシートの場合の操作方法です。ファイル、フォルダについても概ね同様の操作になりますので割愛致します。


(1)シートの一覧表

この例では、シートのA1セルを選択した状態で当該機能のボタンをクリックします。

(2)シートのコピー

予めコピーで作成したいシート名を任意のシートに記入しておきます。対象ブックとは別のブックでもOKですが、当該機能のボタンをクリック前に対象ブックをアクティブにしておいて下さい。

(3)シートのリネーム

予め対象シート名を任意のシートのセル範囲に記入しておきます。リネーム前を左側の列に、リネーム後を右側の列に記入して下さい。対象ブックとは別のブックでもOKですが、当該機能のボタンをクリック前に対象ブックをアクティブにしておいて下さい。

リネームに失敗した場合は、該当セル範囲が強調色表示されます。

(4)シートの削除

予め削除したいシート名を任意のシートのセル範囲に記入しておきます。対象ブックとは別のブックでもOKですが、当該機能のボタンをクリック前に対象ブックをアクティブにしておいて下さい。

削除に失敗した場合は、該当セル範囲が強調色表示されます。


<ユーティリティ>

・印刷プレビュー

現在のワークシートにデータ記載のある場合に印刷プレビューを表示します。


・印刷書式設定(**)

面倒な印刷書式設定が1つのフォームから簡単に行えます。複数シートに対しての一括設定、右ヘッダの日付のみの変更、左下に会社等のロゴマーク付加などが可能です。

下記の体裁になりますが、ヘッダを省略することも可能です。

(1)実行/プレビュー

「作成者」、「資料番号」はコンボボックスにない文字列を直接入力すると、次回のコンボボックスに反映されます。シートは複数選択していると同じ書式で設定されます。シート毎プレビューの確認が不要の場合に、「先頭シートのみプレビュー」をONにします。シート毎の確認において、書式を自由に修正可能です。「固定タイトル」は、複数ページになった場合に行/列の見出し部分を各ページの先頭に固定表示する場合に使用します。用紙サイズA3を使用する場合は、「ユーザカスタマイズ」機能の「スイッチ(1)」タブで「プリンタのA3サポート状況」を「サポート」ONにして下さい。

「作成者」を複数行にしたり変更する場合は、ここで直接編集します。右側ヘッダの2行目以降を修正します。「ページ設定」から「ヘッダー/フッター」タブを選択して「ヘッダーの編集」をクリックします。

名前を 部門 +(改行)+ 名前に変更します。

プレビュー画面を閉じて変更を確定させます。

次回に本機能を呼び出すと、編集した「名前」がコンボボックスに追加されています。

「作成者」や「資料番号」は、「ユーザカスタマイズ」機能で「個人用テーブル」に登録している候補リストを直接編集することも可能です。

編集方法は、右側の青枠内を参照して下さい。編集終了は、「戻る」ボタンをクリックします。

(2)右ヘッダ日付のみ変更

一旦作成した書式を維持して日付のみ変更します。シートは複数選択していると同じ日付に更新されます。

「右ヘッダ日付のみ変更」をクリックします。


・全シートをHOMEポジションに(**)

ブック内の全表示シートのカーソル位置をHOMEポジションにしたり、オートフィルタを解除、ブランクシートを削除するなどブックの体裁を整えます。オートフィルタを解除する場合はシート毎に確認のポップアップを表示します。「不要な”名前”の削除」は、リンク切れを起こしている”名前”をきれいに削除してくれます。ブック内にブック定義の”名前”が定義されていると、ブックの任意のシートをコピーで取り込んだだけでその”名前”が全てインポートされてしまいますのでとてもやっかいです。

資料を外部に提出する前に実行すると有効です。入手した資料に無意味なカーソル位置やブランクシートが含まれていると作業効率を落とします。


・目次の挿入(**)

ブックの先頭に目次シートを挿入します。各シートへのハイパーリンク、各シートから目次への戻りの指定が可能です。外部から資料を入手した際の全体の把握や、外部に資料を提出する際に体裁を整えるのみ有効です。

本アドインの機能の合わせ技で、

(目次の挿入)→(目次に印刷書式を設定)→(全シートをHOMEポジションに)

で素早く丁寧な資料が作成可能です。


・複数画像の貼り付け(**)

JPEG等の画像ファイルをシートに貼り付けます。キャプチャしたSCADA画面の整理、マニュアル等の資料作成に威力を発揮します。

貼り付けは3つのモードから選択します。

(1)指定したフォルダ内の画像ファイル

  全ての画像を現在のシートに貼り付けます。

(2)指定したフォルダ内の画像ファイル

  画像ファイルと同名のシートを生成して画像ファイルを貼り付けます。

(3)指定した親フォルダ内のサブフォルダ中の全画像ファイル

  サブフォルダと同名のシートを生成して各サブフォルダ内の全画像を貼り付けます。

オプションとして、画像の後ろにコメント挿入、画像上に四角形の付加を選択可能です。


以下に、画面資料の作成例、マニュアルの作成例をご紹介します。


<画面資料の作成例>

本アドインの複数機能の合わせ技でサクっと画面資料を作成します。画面キャプチャ→新規ブック→複数画像の貼り付け→シート名一覧→シート名リネーム→印刷書式設定→目次の挿入で完成です。

WinShot等でキャプチャした画面ファイルを任意のフォルダに入れます。

新規ブックボタンで新規にブックを作成します。

複数画像の貼り付けボタンをクリックしてます。貼り付けモードは、「指定したフォルダ内の画像ファイル」を選択して「次へ」をクリックします。

画像を張り付ける位置を指定します。任意ですが後の操作で全体の目次に戻るリンクをA1に確保しますので、ここではB2を指定します。

対象の画像ファイルを複数指定して「開く」をクリックします。

次に取り込んだシート名をリネームするために一覧を書き出します。

「一覧/コピー/リネーム/削除」ボタンをクリックして、対象「シート」- 操作「一覧表」を選択して実行します。

「ウィンドウ追加」ボタンをクリックしてウィンドウを追加します。

取り込んだ画面の名称を確認しながらリネーム後のシート名を右側の列に記入します。

「一覧/コピー/リネーム/削除」ボタンをクリックして、対象「シート」- 操作「リネーム」を選択して実行します。

リネームの対象シート名をセル範囲で指定します。

「Sheet1」は不要なので削除します。

また、ウィンドウが2つオープンされているのを「Ctrl+W」によって1つ閉じます。

次に、印刷書式設定するために全シートを選択状態にします。

「シート選択/削除」ボタンをクリックして、「全シートが対象」をONにして「選択のみ」をクリックします。

次に「印刷書式設定」ボタンをクリックします。

「ページ数の設定」を1P固定、「先頭シートのみプレビュー」をONにして「実行/プレビュー」をクリックします。

尚、シート数が多い場合は実行に多少の時間を要しますので暫くお待ち下さい。

プレビュー画面で確認します。

最後に目次シートを挿入します。

「目次挿入」ボタンをクリックして、「各シートから目次に戻るハイパーリンクを挿入」をONにして実行します。

ハイパーリンクを貼るセルとしてA1を指定します。

これにて操作は完了です。

目次シートから各画面シートへジャンプ可能です。

各画面シートから目次シートへジャンプ可能です。

多数のシートが存在するブック内のシート間のダイレクト移動は、「シート選択/削除」機能が便利です。

<マニュアルの作成例>

画面キャプチャ→新規ブック→複数画像の貼り付けで完成です。

WinShot等でキャプチャした画面ファイルを任意のフォルダに入れます。

新規ブックボタンで新規にブックを作成します。

複数画像の貼り付けボタンをクリックしてます。貼り付けモードは、「指定したフォルダ内の画像ファイル」を選択します。

画像間の空白行、コメント挿入、画像上に付加する四角形を指定して「次へ」をクリックします。

対象の画像ファイルを選択します。

完成です。


・番号入りのオートシェイプを生成(**)

単体のExcelマクロ「SuperXLe 番号入りオートシェイプ生成」としても同時にリリース致します。

Excelシートに番号等の任意の文字列入りのオートシェイプを生成します。

文字列は連番、セル範囲の指定が可能です。形状、枠線、色塗りの指定等が可能です。

SCADA画面等への部品の番号付加や操作説明書等のマニュアル作成で便利な機能です。

文字列としてPLCのレジスタアドレス(W1000等)をExcelシート書き込んでおいて

オートシェイプ生成して、SCADA画面の各オブジェクト付近に張り付けると

PLCとの対抗試験が容易になります。


V2.9にて、枠線のあり/なしの指定が可能になりました。

(1)連続番号の生成(デフォルト)

1~25の連番で丸型のオートシェイプを生成します。

「いいえ」をクリックすると、オートシェイプは削除されて元のダイアログボックスに戻ります。

(2)連続番号の生成

75~200の連番で丸型のオートシェイプを生成します。

色の塗りつぶしで10個毎に異なる色を使用します。

(3)セル範囲指定の生成

セル範囲指定で任意の文字列入りの角丸型のオートシェイプを生成します。

セル範囲に空白がある場合は無視します。

「セル範囲の指定」ボタンをクリックして、対象のセル範囲を入力します。


・リスト形式に(*)

シートをExcelで扱いやすい空白行を含まないリスト形式に成形します。


・複数シートの比較(**)

複数のシートを一括して比較し、結果を別ブックにレポートします。

3通りの比較が可能です。

(A) 同一ブック内の任意のシート同士(ワンペア)

(B) 2つのブック内の任意のシート同士(ワンペア)

(C) 2つのブック内の同名シート同士(複数ペア) → この機能のサポートは稀有です


比較結果の一覧とシート別の詳細がわかりやすいのが特長です。

比較は、同一のセル、異なるセルの指定が可能です。

Excelの不具合で生じた編集ゴミ等の影響で各シートの使用セル範囲が肥大化している場合の対処も可能です。


特に客先からの急な元資料改訂版到着時に、すばやく旧版との相違箇所を特定できるため大変重宝します。

また、受け取った側だけでなく、提出する側も前回資料との変更箇所を色塗りして連絡することも可能です。 (カラーは指定が可能です。)


< 機能追加 V3.8(単体マクロ版V2.0) >

2つのブック間の比較(単独 or 複数シート)の場合に

比較結果シートに記載の表示文字(「N」等)のセルをダブルクリックすると2つのブックの該当箇所を同時に表示する機能を追加しました。


<仕様改善 V3.81(単体マクロ版V2.1)>

・対象ブックを閉じるときに保存確認のポップアップが表示されないようにしました。

(従来から対象ブックへの変更処理は含まれていません)

・比較結果ファイルの保存のタイミングを変更しました。

・比較結果ファイルのみ別途オープンした場合に対象ブックがオープンされていないときのエラー処理を追加しました。


<仕様追加 V3.82(単体マクロ版V2.2)>

オプション「対象ブックの該当箇所を強調表示色で色塗り」をサポートしました。

「比較の仕様(セル/シート共通)」タブにて指定下さい。

応用として、客先に前回資料との変更箇所を指定した色塗りで連絡する際にも

この機能が有効です。


<V3.83(単体マクロ版V2.3)>

<仕様追加>

・対象シート1について、「全シート選択」をサポートしました。

・「先頭行の見出しを各シートのウィンドウ枠の固定位置から自動で判別」を追加しました。ウィンドウ枠が固定されていない場合は、1行目から比較対象とします。

<仕様改善>

・対象シート1の使用セル範囲が5000行を超過した場合に、使用セル範囲が誤っていないか確認ポップアップを表示します。使用セル範囲の誤りはExcelの不具合でゴミが残っている場合に発生し、シート比較の処理時間に大きな影響を与えます。誤っている場合は、

「対象セル範囲」-「連続空白セル(100行 or 50列)の出現以降のセル範囲を除外する」をONにして再実行するように促します。


<V3.84(単体マクロ版V2.4)>

<バグ改修>

・対象シート1にセルの入力規則がかかっている場合に実行時エラーとなるのを修正しました。

・相違(一致)がゼロなのにExcelのカウント関数が1と誤表示してしまう問題を回避しました。

<仕様追加>

・「対象シート1と同名シートを選択」をサポートしました。

<仕様改善>

・何らかの原因で比較結果のファイルが保存されない場合にポップアップを表示するようにしました。


下記では、(C) 2つのブック内の同名シート同士(複数ペア)の場合の実行方法を説明します。

対象シート1で比較するシート(複数)を指定します。

比較対象外にする先頭行の見出しの指定を3つのモードから選択します。

「自動判別」にすると、対象シートのフォーマットが異なる場合でもウィンドウ枠固定の位置情報を自動で認識して処理してくれます。

「実行」をクリックします。

対象シート2のブック内に比較対象のシートが存在しない場合は確認のポップアップが表示されます。

「いいえ」で処理を中止します。

レポートが生成されます。

各シートの「相違数」を確認します。各比較結果シートにはハイパーリンクでジャンプできます。

例としてシート「比較結果_Unit01」にジャンプします。

2つのブック間の比較(単独 or 複数シート)の場合に

比較結果シートに記載の表示文字(「N」等)のセルをダブルクリックすると2つのブックの該当箇所を同時に表示します。

(1つのブック内の別シート同士の比較の場合は1つのシートの表示になります。)


この場合、当該ブック3つ(対象の2つ、比較結果)以外は閉じておくのがおすすめです。

また、片方のブック(例えば変更後のブック)のみ表示したい場合は、

もうひとつのブック(例えば変更前のブック)を閉じてからダブルクリックして下さい。

< 仕様追加 V2.2 >

オプション「対象ブックの該当箇所を強調表示色で色塗り」をサポートしました。

「比較の仕様(セル/シート共通)」タブにて指定下さい。

< 使用セル範囲が肥大化している場合の対処方法 >

Excelの不具合で生じた編集ゴミ等の影響で各シートの使用セル範囲が肥大化している場合があります。

使用セル範囲は、実行のダイアログボックス中の対象シート1のリストボックスで行数/列数を確認できます。

この例では、本来の使用行数913が9071、列数31が163になっています。

このまま実行すると使用メモリと処理速度(100倍以上のケースあり)に大きな影響を与えます。

この場合の対処方法は2つあります。


(その1)

下記のように、ダイアログボックスの「連続空白セル(100行 or 50列)の出現以降のセル範囲を除外する」のチェックボックスをONにして実行します。

不要なセル範囲の適用除外によって高速処理が可能になります。

但し、(使用セル範囲)=(実際のデータ入力範囲)になっている場合はチェックを入れないで下さい。(逆に処理速度が低下します)

(その2)

あらかじめ不要な使用セル範囲(行単位、列単位)を削除します。

使用セル範囲のラストセルは、Ctrl+Endで確認できます。削除した場合は、一旦ブックを保存して閉じて、再度オープンすることで編集結果が反映されるようです。

オープンしたままでは反映されないようです。

意図せずにこのような状態になっている場合が殆どですが、他の方にブックを受け渡す可能性のある場合は常日頃注意しましょう。

SuperXLeでブックのスリム化サポートを今後検討します。


・文字列取得(GetString)(*)

「ポイント位置の表示文字列取得」は、エムティ・ソフト社のフリーソフトで、私も古くからお世話になっていますので今回V2.7で組み込むことにしました。

下記のポップアップ内の文字列を簡単に取得することができます。ポップアップ以外のウィンドウにも有効ですが、ウィンドウ内の文字列がピクチャになっている場合等は使用できません。ESCキー1回でうまく取得できない場合は、2回押して下さい。


・カメラ(*)

こちらも有名なExcelオリジナルの機能です。Excel2007以降はリボンのどこかに隠れてしまっていたのを使用しやすい場所に配置しました。

Excelの罫線に制約されない表を作ったり、離れた場所(他のシート等)のセル範囲を参照したりするのに便利な機能です。


・WindowsSカット

Windowsオリジナルのショートカットの忘備用リストです。このメニューから実行はできません。

全Windowの最小化(Windowsキー + M)は頻繁に使用します。


・Excel Sカット

Excelオリジナルのショートカットの忘備用リストです。このメニューから実行はできません。

現在の日付入力(Ctrl + ;)はとても便利です。