VBA

VBA for Excel



McrTool Ver1.2

Excel&VBAの中〜上級者向けのマクロツール集です。 Excelの組み込みの機能では物足りないため、 いろいろな機能をVBAで作成しました。

いくつかの機能については別ページに使用方法等の追加説明があります。

機能一覧
●[特殊な貼り付け]

メニュー
-[値](組) :[形式を選択して貼り付け]-->[値]と同じ。
-[書式](組) :[形式を選択して貼り付け]-->[書式]と同じ。
-[形式を選択して貼り付け](組) :[形式を選択して貼り付け]と同じ。
-[マクロ貼り付け] (複) :マクロによる、特殊な場合のコピー&ペーストを行います。 分割した範囲の貼り付け、数式をそのまま貼り付け、罫線のみの貼り付けが行えます。 行列の入れ替えを指定したとき、罫線の書式も入れ替えます。 通常のコピー&ペーストと異なり、コピー元を選択した状態でコマンドを選択します。
-[全て], [値]
-[数式], [数式そのまま], [参照式]
-[書式], [罫線以外書式], [罫線]
-[対角要素に貼り付け](複) :選択されている列(or行)を、ダイアログボックスで指定したセルを先頭に 対角方向に貼り付けます。 通常のコピー&ペーストと異なり、コピー元を選択した状態でコマンドを選択します。 同一ブック内なら、別のシートへの貼り付けも可能です。
-[全て], [値]
-[数式], [数式そのまま], [参照式]
-[複数シートの参照貼付け](複) :選択シート・セルへの参照式を指定した範囲に貼り付けます。
-[選択シート -->
      指定範囲に貼付]
:選択された複数シートのアクティブセルへの参照式を、指定した範囲に貼り付けます。
-[選択セル -->
      指定シート以降に貼付]
:選択された範囲の各セルへの参照式を、指定したシート以降のアクティブセルに貼り付けます。
-[3Dデータの組替え貼付け](複) :行・列・シートの3次元データの軸を入替えて貼り付けます。
-[値], [数式そのまま], [参照式]
●[クリア](組) 
-[すべて], [数式と値], [書式], [コメント]
●[マクロ ツール]

メニュー
:< Favorites > 使用頻度の高いツールを先頭に移動しました。
-[選択領域の移動] :選択領域を移動する(入力内容は移動しない)。
-[セル・値の結合] :選択範囲のセルと値を結合します。
-[セル・値の結合] :選択範囲のセルと値を結合します。その際、全てセルの値が結合されて残ります。 数式の場合は値として結合され、数式自体は残りません。 行方向のデータはカンマ(,)、列方向のデータは改行(chr(10)=vbLf)で区切られます。 (通常、「改行」はAlt+Enterで入力できます)
-[ -> 各行ごと] :選択範囲のセルを行ごとに結合します。
-[ -> 各列ごと] :選択範囲のセルを列ごとに結合します。
-[値の結合] :選択範囲の値を結合して先頭セルに入力します。 数式の場合は値として結合され、数式自体は残りません。 行方向のデータはカンマ(,)、列方向のデータは改行(chr(10)=vbLf)で区切られます。 (通常、「改行」はAlt+Enterで入力できます)
-[ -> 各行ごと] :選択範囲の値を行ごとに結合します。
-[ -> 各列ごと] :選択範囲の値を列ごとに結合します。
-[セルの結合] :選択範囲のセルを結合します。 通常の結合と同様に、先頭セルの値しか保存されません。
-[ -> 各行ごと] :選択範囲のセルを行ごとに結合します。
-[ -> 各列ごと] :選択範囲のセルを列ごとに結合します。
-[セル・値の結合解除] :セルと値の結合を解除します。 値はカンマと行送りを区切り文字として分解します。
-[セルの結合解除] :セルの結合のみ解除します。
-[セルの選択] 単一セルを選択した状態で組み込みの[ジャンプ]-[セル選択]機能を使うと 使用領域全体を検索しますが、このマクロでは選択セルが条件にあっていなければ Errorとなります。
-[空白] :選択範囲内の空白セルを選択します。
-[空白以外] :選択範囲内の空白以外のセルを選択します。
-[定数] :選択範囲内の定数のセルを選択します。
-[全て] :選択範囲内の定数のセルを選択します。
-[数値] :選択範囲内の定数(数値)のセルを選択します。
-[文字] :選択範囲内の定数(文字列)のセルを選択します。
-[数式]
-[全て] :選択範囲内の数式のセルを選択します。
-[数値] :選択範囲内の数式(数値)のセルを選択します。
-[文字] :選択範囲内の数式(文字列)のセルを選択します。
-[書式] : アクティブセルに特定の書式が設定されていなければ無差別に、 設定されていればその条件で選択します。
-[背景色] :選択範囲内の背景色がついたセルを選択します。
-[背景色なし] :選択範囲内の背景色がついていないセルを選択します。
-[パターン] :選択範囲内のパターンがついたセルを選択します。
-[パターンなし] :選択範囲内のパターンがついていないセルを選択します。
-[その他] :組み込み機能「ジャンプ」へのショートカット。
-[検索・一括] :検索にヒットしたセルを全て選択する。
-[交差セル] :現在の選択範囲と、ダイアログボックスで指定した範囲との交差するセルを選択する。 「行・列の操作」や「セルの選択」と組み合わせて使うと便利。
-[行全体] :選択範囲内で、行全体を選択する。 ショートカットのShift+Spaceと違い、領域が分割されていても可。
-[列全体] :選択範囲内で、列全体を選択する。 ショートカットのCtr+Spaceと違い、領域が分割されていても可。
-[対角要素] :選択範囲内で、左上から右下方向へ対角要素を選択する。
-[セルへの入力]
-[一括入力] :選択範囲の各セルに一度に入力する。
-[先頭に一括追加] :選択範囲の各セルの先頭に文字列を入力する。
-[末尾に一括追加] :選択範囲の各セルの末尾に文字列を入力する。
-[連続データ]:連続データを入力します。
-[列方向に通し番号] :列方向(縦方向)に1から通し番号を入力する。
-[行方向に通し番号] :行方向(横方向)に1から通し番号を入力する。
-[セルの書式設定]
-[標準]:標準書式を設定する。
-[文字列]:文字列書式を設定する。
-[数値]:数値書式を設定する。
-[セルの結合] :選択範囲のセルを結合します。
-[行ごとに結合] :選択範囲を行ごとに結合します。
-[列ごとに結合] :選択範囲を列ごとに結合します。
-[セルの結合解除] :セルの結合を解除します。
-[セルの変換] :選択範囲のセルの書式を変換します。 文字列の変換は文字列定数、その他の変換は定数の入力されたセルにしか使用できません。
-[標準書式]:標準書式に変換する。
-[文字列書式]:文字列書式に変換する。
-[大文字]:アルファベットを大文字に変換する。
-[小文字]:アルファベットを小文字に変換する。
-[単語の先頭のみ大文字] :アルファベットの単語の先頭のみ大文字に変換する。
-[全角]:全角に変換する。
-[半角]:半角に変換する。
-[文字種別]:文字種別に全角・半角を設定する。
-[カタカナ]:ひらかなをカタカナに変換する。
-[ひらがな]:カタカナをひらかなに変換する。
-[桁数固定数値文字列] :桁数を指定した数値の文字列に変換する。
-[前後空白を削除]:セル内の前後の空白のみ削除する。
-[セルの参照関係]:選択範囲の参照関係に関するツール。
-[絶対参照]:$A$1形式に変換する。
-[行固定]:$A1形式に変換する。
-[列固定]:A$1形式に変換する。
-[相対参照]:A1形式に変換する。
-[全参照元のトレース] :参照元へのトレースマークを全て表示する。
-[全参照先のトレース] :参照先へのトレースマークを全て表示する。 ただし、Excel97(Version8.0)ではVBAの不具合により動作しません。
-[行の操作] :条件に一致する、選択範囲内の行、或いは行全体を選択する。 選択後は色を付けるなり、削除するなりお好きなように。
-[キーワード・書式で選択] :キーワードや書式の条件に一致する行を選択する。
-[重複行を選択] :データの重複した行を選択する。
-[1行ごとに分割選択] :選択範囲を、行ごとに分割した状態で選択します。
-[任意の間隔と幅で選択] :選択範囲の行から、任意の間隔と幅で行を選択をする。 列が分割されていても可。
-[ -> 1行置き1行ずつ] :選択範囲の行から、1行置きに1行ずつ行を選択する。
-[任意の間隔と幅で挿入] :選択範囲の行に、任意の間隔と幅で行を挿入する。 連続した領域のみ。
-[ -> 1行置き1行ずつ] :選択範囲の行に、1行置きに1行ずつ行を挿入する。
-[逆順に並べ替え] :選択範囲内の行を逆順に並び替える。
-[列の操作]:「行の操作」の列バージョン。
-[1列ごとに分割選択] :選択範囲を、列ごとに分割した状態で選択します。
-[任意の間隔と幅で選択] :選択範囲の列から、任意の間隔と幅で列を選択をする。
-[ -> 1列置き1列ずつ] :選択範囲の列から、1列置きに1列ずつ列を選択する。
-[任意の間隔と幅で挿入] :選択範囲の列に、任意の間隔と幅で列を挿入する。 連続した領域のみ。
-[ -> 1列置き1列ずつ] :選択範囲の列に、1列置きに1列ずつ列を挿入する。
-[逆順に並べ替え] :選択範囲内の行を逆順に並び替える。
-[行列の操作](複):集計など、マトリクス・リストに関する操作。
-[行の集計] :マトリクスを行をキーに集計し、参照式で貼付ける。
-[列の集計] :マトリクスを列をキーに集計し、参照式で貼付ける。
-[行・列の集計] :マトリクスを全て集計し、参照式で貼付ける。
-[マトリクス-->リストの変換] :マトリクス形式のデータをリスト形式に変換し、参照式で貼付ける。
-[リスト-->マトリクスの変換] :リスト形式のデータをマトリクス形式に変換し、参照式で貼付ける。
-[名前の定義](複)  :範囲の名前の定義・削除はよく使う割に使いづらい。 そのあたりを改善するツール。(セル選択時のみ)
-[名前の作成] :現在の選択範囲に名前を付ける。 既に同じ名前が登録されていると、変更するかどうか問い合わせる。
-[ -> 先頭セルをラベルに使用] :選択範囲の左上セルの値をラベルとして定義する。
-[ -> 1つ上のセルをラベルに使用] :選択範囲の左上セルの1つ上の値をラベルとして定義する。
-[ -> 2つ上のセルをラベルに使用] :選択範囲の左上セルの2つ上の値をラベルとして定義する。
-[名前の削除]:選択範囲の名前を削除する。
-[名前の定義一覧](組):名前の定義一覧を表示
●[マクロツール(シートの処理)](複)  :(ワークシートのタブを右クリックして起動する。)

メニュー
-[検索-新規シートに出力] :セルを検索し、検索結果を新規シートに一覧表示する。
-[シート名] :シート名の処理。
-[指定範囲へ貼付] :複数選択したシートの名前を指定範囲へ貼り付ける。
-[各シートに貼付] :複数選択したシートの名前を各シートのアクティヴセルに貼り付ける。
-[ラベルを指定して更新] :複数選択したシートの名前を、指定したラベルに更新する。
-[ラベルを指定して新規作成] :指定したラベルで、シートを新規作成する。
-[シートのソート] :選択しているシートをシート名でソートする。
-[昇順], [逆順]
-[シートの逆順並べ替え] :選択しているシートを逆順に並べ替える。
-[ウィンドウ環境を揃える] :選択している全てのシートを、アクティブシートの選択セル・分割・固定の表示環境に揃える。 同じフォーマットのシートを比較するときに便利。
-[ウィンドウ環境を解除] :選択しているシートでの、分割・固定の表示環境を全て解除する。
-[シートの一括インポート] :アクティブシートの直前に、指定フォルダからシートを一括インポートする。
-[xlsシート] :フォルダ内の、拡張子[xls]のファイルのシートを全てインポートする。
-[テキストファイル] :ファイルの拡張子と区切り文字を指定して、全てのファイルをインポートする。
(注:固定長文字列のテキストファイルには対応していません。)
-[シートの一括エクスポート] :選択しているシート(複数選択可)を、 シート名をファイル名として指定フォルダへ一括エクスポートする。
-[ワークブック(.xls)] :シート毎に別のワークブックとしてエクスポートする。
-[カンマ区切りテキスト(.csv)] :カンマ区切りテキストとしてエクスポートする。
-[タブ区切りテキスト(.txt)] :タブ区切りテキストとしてエクスポートする。
-[スペース区切りテキスト(.prn)] :スペース区切りテキストとしてエクスポートする。

Note:
  (組):Excelの組み込み機能へのショートカット
  (複):複数シートに対応

使用方法

起動は右クリックメニューからだけです。 暇な人はメインメニューに登録するなり、 ツールバーを作成するなり、お好きにどうぞ。

一応Addin形式にしてありますが、パスワードは設定してありません。 適当に修正して利用して下さい。

メインメニューの[ツール]-[アドイン...]から登録できます。 あるいは、[\Program Files\Microsoft Office\Office\XLStart]に置いておくと、 Excel起動時に自動的に読み込まれます。

注意事項

Office2000,XPの場合は[ツール]-[マクロ]-[セキュリティ]から セキュリティダイアログボックスを呼び出し、セキュリティーレベルを[中]に設定してください。 ファイルを開くときに、マクロを有効にするか問い合わせがあるので [マクロを有効にする]を選択してください。

実際に使用する前にテストを行って、 どのように動作するのか把握しておいて下さい。 VBAのプログラムは基本的に[Undo(やり直し)]ができません。 こまめにセーブをするなどして、注意して使用して下さい。 また、勝手に保存されてしまわないように、 「自動保存」をOffにしておいた方がよいでしょう。 なお、本プログラムによってどのような障害が出たとしても、 作者は一切の責任を負いません。

アドインおよびそのソースコードに関する著作権はDamfinoにあります。 作者の許可なく配布、掲載、販売を目的に利用することを禁じます。

Download

クリックしてファイルに保存して下さい。 lzh形式で圧縮してあるので、lhasaなどで解凍してください。
    --->McrTool_xl.lzh

特殊な機能を外したJr.版もあります。
    --->McrTooljr.lzh

最後に

他にもいろいろ作業中のツールがありますので、 完成したら追加して行きます。 「こんな機能が欲しい」というようなご希望が あればメール・BBSでお知らせ下さい。



Program Top