4.Excel ワンポイントテクニック集 |
1.印刷関係 2.図形及び画像表示関係 3.関数関係 4.グラフ関係 5.書式及びフォント・罫線関係 6.セル・行・列関係 7.データの検索・抽出 8.データベース関係 9.ファイルを開く・ファイルの保存関係 10.ブック・シート関係 11.マクロ関係 12. 13. 14.その他 15.VBA 関係のお勧めサイト ※ 上記を使用する前に必ず、[Excel VBA ヘルプを単独で使用する方法]をご覧下さい。 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Excel 2010 Option :[Option Explicit] 参照設定:Microsoft Excel *.* ObjectLibrary / Microsoft Scripting Runtime 参照設定方法参照 使用 API: その他 :ツール→オプション→全般→エラートラップで[エラー発生時に中断]以外にチェックを入れておいて下さい。 :Excel の起動及び終了は、[VBからエクセルを起動・終了する]を使ってサンプルをテストして下さい。 |
1.印刷関係 |
1.シート上の選択範囲を印刷するには ・VB上からエクセルファイルを読み込んで指定の範囲だけを印刷 ・印刷範囲を解除する ・印刷範囲を指定して印刷する ・印刷するセル範囲を設定する 2.印刷されるページの総数を調べる方法 ・印刷した時の総ページ数を取得する ・[XL2002] 印刷されるページの総数を調べる方法 3.印刷時の1ページの行数を取得する ・1ページ当りの行数を取得する 4.Excel の複数シートを選択して印刷する ・複数のシートを選択して同時に印刷する 5.改ページを設定・削除する ・セル H30 の上側に水平方向に改ページを挿入します。 ・セル H30 の左側に垂直方向に改ページを挿入します。 ・シートの改ページ設定をすべて削除します。 ・印刷するセル範囲を設定 ・改ページプレビューを表示する ・改ページプレビューを閉じる ・印刷範囲の解除 6.VBからエクセルの表に罫線を引き・印刷設定をし印刷する(018) ・表に罫線を引き印刷する 7.Excel で印刷中のダイアログを非表示にして印刷する ・ダイアログが表示される画面中央にフォームを最前面に表示して[印刷中]のダイアログを見えなくする方法。 ・Win32 API 関数で[印刷中]のダイアログの再描画を抑制する方法 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 印刷関係の主なVBAキーワードリファレンス集(使用例は、VBAのコードに付きVB6.0用に置き換えて下さい)
|
2.図形及び画像表示関係 |
1.Excelのシートに画像を表示及びサイズ変更 (1) Pictureオブジェクトを使って表示 (2) クリップボード経由での貼付け (3) Excel上に表示したPictureにVBから指定の画像を表示する方法 (4) Excel上に表示した画像を拡大表示する (5) Excel上に表示した画像を縮小表示する 2.図形(オートシェイプ等)の描画及び削除 ・雲形吹き出しを描画 ・ブロック矢印を描画 ・終端が三角形の矢印を描画 ・図形を個別に削除する場合 ・全ての図形を選択 ・選択されている図形を削除する 3.Excel 2010 で Pictures.Insert メソッドを使用して図をワークシートに挿入すると 図がリンクオブジェクトとして挿入されるので その対応策の Shapes.Add メソッドを使用したサンプルコード 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 図形・画像関係の主なVBAキーワードリファレンス集(使用例は、VBAのコードに付きVB6.0用に置き換えて下さい)
|
3.関数関係 |
1.データの個数・最小値・最大値・合計・平均値の取得 COUNT MIN MAX SUM AVERAGE 関数の使用例 2.セルに同じ数式を入れるには(全ての行の横計等を求める場合) ・Excel の列に同じ数式を入れたい ・縦計を求める ・横計を求める及び総合計を求める 3.エクセルの機能を利用してフリガナを取得 4.セルのアドレスの形式をA1形式に変換する自作関数 上記のセルのアドレスの形式をA1形式に変換する関数は、Excel 2007 では、703列目以降の列で、正しい値が 返らないようです。(普通は、700列以上のセルを使用する事は無いと思いますが) その場合は、下記のリンクの関数(魔界の仮面弁士さん作)を使わせてもらって下さい。 http://yaplog.jp/orator/archive/77 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。
|
4.グラフ関係 |
1.グラフのデータ範囲指定の仕方について ・エクセルグラフの範囲指定の仕方 2.VBからExcel にデータを送りグラフを表示する 3.基本操作例を使ってのVBからExcel にデータを送りグラフを表示 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 グラフ関係の主なVBAキーワードリファレンス集(使用例は、VBAのコードに付きVB6.0用に置き換えて下さい)
|
5.書式及びフォント・罫線関係 |
1.セルのカラーを設定及び取得・カラー値の変換 ・セルに色を設定 ・セルの色を取得 ・セルの色を長整数型(Long)で表示 ・16進表記に変換表示 ・RGB 値表記に変換 ・セルの色をRGB値で表示 2.セルの書式設定を設定する (メニュー →書式→表示形式→分類のところで表示されている書式の設定ができます。) ・数値を文字列として表示 ・セルの表示スタイルを設定 ・セルの表示形式を設定する 3.Excelの指定のセルの文字列を個別に書式事取得しリッチテキストボックスに表示(402) ・Word経由でクリップボードを利用してコピー・アンド・ペーストする方法 ・1文字づつ書式情報を読み取って文末に追加書き込みする方法 4.表に罫線を引く ・指定範囲に格子の罫線を引く ・表の外枠に太線の罫線を引く ・項目欄を二重線で区切る 5.文字列の表示(位置・方向等)操作色々(17) 1.中央揃え 2.選択範囲内で中央揃え 3.セルを結合(マージ)する 4.均等割付け 5.行の高さを取得 6.行の高さを設定 7.縦位置中央揃え 8.表示角度45度に 9.縦方向に表示 10.列幅で折り返し 11.列幅に縮小 12.桁区切り 13.列幅を標準に戻す 14.行の高さを標準に戻す 15.数値・日付・時刻等の表示形式を設定する 16.範囲を指定してセルの内容をクリア 17.範囲を指定して書式をクリア フォント関係は、下記のリファレンスだけでも十分ご理解頂けるかと。 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 書式及びフォント関係の主なVBAキーワードリファレンス集(使用例は、VBAのコードに付きVB6.0用に置き換えて下さい)
|
6.セル・行・列関係 |
1.セルにデータ及び式を入力する 2.Range オブジェクトを使ってのデータの1発入力 ・xlRange.Value = Dat のようにしてセル範囲へデータの1発入力 3.Excel 上でコピー・アンド・ペースト(貼り付け)を実行する 4.エクセルの表をVB上に貼り付け(019) 5.VBとエクセル間でデータのやりとり(017) 6.列幅を取得・列幅を設定・セルの文字列長に合せて列幅を設定する ・列幅をポイント単位で取得 ・複数列の列は幅を同時に設定 ・データの文字列長に合せて列幅を自動調整 7.Activateなセル("A1")があるActivateセル領域を選択する ・指定のセル位置を含む空白行と空白列に囲まれた最小のセル範囲を取得 ・データの入力範囲の取得 ・Activateなセル("A1")があるActivateセル領域を選択します。 ・xlSheet 上の使用済みのセル範囲を取得 8.セルの挿入及びセルの削除 ・C列の5行目にセルを挿入します。 ・C列の5行目のセルを削除します。 ・C列の5行目のセルの右側にセルを挿入します。 ・行・列・セルの挿入及び行・列・セルの削除 9.選択したセルが定義した指定の範囲にあるかどうかを確認する方法 Microsoft サポート技術情報 に掲載されていた分です。 10.AutoFill メソッドを使ってセルに連続してデータを入力する 11.Excelを開かずにデータを書き込み(32-0) 12. 13. 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 セル・行・列関係の主なVBAキーワードリファレンス集(使用例は、VBAのコードに付きVB6.0用に置き換えて下さい) 又、色んなオブジェクトで使用できるプロパティ等の解説の場合、ここはセル関係なので Range オブジェクトでの解説・使用方法について説明します。
|
7.データの検索・抽出 |
1.指定列のデータから重複しないデータを抽出 ・仮データの書込み ・B列のデータリストから重複したものを除いたリストだけを表示 ・抽出したデータ件数を取得 ・抽出したデータを取得 2.選択範囲内の文字の出現回数を数える方法 ・Microsoft サポート技術情報 に掲載されているVBAのサンプルです。 3.Findメソッドを使っての選択範囲内の文字の出現回数を数える(VB6.0 基本編)(No.26) ・検索範囲をxlSheet の入力済みセル範囲とする ・検索して見つかったセルのアドレスを取得 ・検索して見つかった件数をカウントする ・検索して見つかったセルの値を書き換える ・検索して見つかったセルの次のセルから再検索 4.エクセルで検索を行う ・検索検索して見つかったセルをアクティブにする ・検索して見つかったセルの行番号を取得する ・検索して見つかったセルの列番号を取得する 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 データの検索・抽出関係の主なVBAキーワードリファレンス集(使用例は、VBAのコードに付きVB6.0用に置き換えて下さい)
|
8.データベース関係 |
1.複数CSVファイルを一つのブックの複数シートに入力(ADOとJet用OLE DB Providerを使用) 2.DAOでExcelのデータ(*.xls ファイル)を読み込みVBのテキストボックス等に表示 ・DAOでExcelファイルを読み込みテキストボックスに表示 ・DAOによるExcel用データの編集 ・接続文字列のオプション IMEX / HDR の意味と結果 ・DAOによるExcelファイルのシート名の読込 3・DAOまたはADOでExcelファイルを開いた時にデータの表示が欠落する場合の対処法 4.Excel 用ファイルをMSFlexGridに表示する(DAOを利用) 5.ADOを使ってExcelファイルをMSChartコントロールにセットする 6.ADOと、Jet用OLE DB Providerを使ってのExcelへの入力 7.Excel(未使用)を開かずにExcelファイルにデータを書き込み(32-0) 8. |
9.ファイルを開く・ファイルの保存関係 |
1.VBからExcelを起動・終了する(基本操作部分) ・新規ファイルをオープンして、Excel を起動 ・既存のファイルをオープンして、Excel を起動する ・起動中は、ユーザーが Excel を閉じれないように設定 ・Excelファイルを上書き保存して終了処理を実行 ・Excel の終了処理用プロシージャ ・Excelファイルを保存形式を指定(変更)して保存 ・保存時の問合せのダイアログを非表示に設定 ・Excel のイベントを利用できるように設定して起動 2.Excel ファイルを読み取り専用で開く ・Set xlBook = xlApp.Workbooks.Open(xlFilePath, ReadOnly:=True) での操作 3.複数のCSVファイルを1つのBookに読み込む ・WorksheetオブジェクトのQueryTables.Add メソッドを使って、複数のCSVファイルを1つの Book 内に読み込む ・CSV ファイル1つにまとめるだけなら、Shell 関数を使った方法もあります。 4.すでに起動中のExcelファイル(ダブルクリック等で)をVBから編集する ・複数の起動中のExcelファイルのフルパスを取得する ・GetObject 関数を使って、現在表示中のファイルを詠み込み起動(実行時バインディング) 5.エクセルの自動リンクエラーのメッセージを表示させない方法 6.Microsoft Excel が既に起動されているかどうかを調べる(014) 7.Excel上にCSV及びTXTファイルをデータ型を指定して読込む(251) 8.Excelの異なるバージョン間で同じプログラムを使用する 注意、VB から Excel を操作するのに不慣れな人は使用しないで下さい。又、ある程度理解されている方であっても 事前バインディングのプログラムで、各バージョンで動作確認してから、実行時バインディングのコードに書き換えて 使用するようにして下さい。 動作不良やエラーが発生してもご自分で解決できないような方は使用しないで下さい。 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 ファイルを開く・ファイルの保存関係の主なVBAキーワードリファレンス集
|
10.ブック・シート関係 |
1.DAO を使っての Excel ファイルのシート名の高速取得(Excel 未使用で) ・Excel.exe を起動しなくても取得でき、超高速(約40倍)に取得できるのでシート名の検索とかに便利かと。 2.シート数・シート名の取得及びシートの追加・削除 ・シート数の取得 ・新規にシートを追加 ・追加したシートの名前を取得 ・追加したシートの名前を変更 ・変更したシート名を取得(確認) ・シート数を取得 ・追加したシートを削除 ・シート名の取得 ・新規にBook を開いた時に表示したいシート数を設定する 3.現在表示中(使用中)のExcel ファイルのフルパスを取得 4. 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 ブック・シート関係の主なVBAキーワードリファレンス集
|
11.マクロ関係 |
1.マクロをVBのコードに変換する場合の注意事項 2.マクロを無効にしてExcelをオープンする 3.VBからExcelのマクロを実行する(コマンドボタンをクリックする) 4.プログラム上からExcelのマクロを記入する 5.VBからエクセルVBAを登録 6.VBA でのコントロールの型について 7.VBよりExcelファイル上のマクロコードを削除する 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 ブック・シート関係の主なVBAキーワードリファレンス集
|
12. |
|
13. |
|
14.その他 |
1.ExcelファイルをWebBrowser上に表示する(129-8) 環境によっては、うまく動作しない場合があります。(下記のMSのサンプルでも同様です。) WebBrowser コントロールを使用して Office ドキュメントを開く方法 2.Excelを使用せずにExcelファイルにデータを書き込み(32-0) 3.Excel画面廻りの表示設定色々(128-22) ・全画面表示に設定 ・数式バーを非表示に設定 ・行列番号を消す ・マクロの実行中に画面表示を更新しない ・水平スクロールバーを消す ・垂直スクロールバーを消す ・シート見出しを消す ・枠線を消す ・マクロの実行中に特定の警告やメッセージを表示させない 4.Excel 2007 以降のリボンを操作する及びユーザーからの操作を禁止する ・リボンを最小化表示する/リボンを元の状態(表示)に戻す ・リボン(メニュー全て)を非表示にする/リボン(メニュー全て)を表示にする ・ユーザーが画面操作できないように設定する 5.WebBrowser上で開いたExcelファイルの保存 環境によっては、うまく動作しない場合があります。 6.メニューバーとツールバーを非表示(使用不可)にする(128-20) ・Excel 2007 以降では、リボンになりますので、動作しません。 7.R1C1形式の数値で指定したアドレスをA1形式に変換する関数(128-8) 上記のセルのアドレスの形式をA1形式に変換する関数は、Excel 2007 では、703列目以降の列で、正しい値が 返らないようです。(普通は、700列以上のセルを使用する事は無いと思いますが) その場合は、下記のリンクの関数(魔界の仮面弁士さん作)を使わせてもらって下さい。 http://yaplog.jp/orator/archive/77 8. 9. 掲載内容が多いので、このページの検索(Ctrl + F) か当サイト内・外の検索を使って検索して下さい。 ブック・シート関係の主なVBAキーワードリファレンス集
|
15.VBA 関係のお勧めサイト |
|
検索キーワード及びサンプルコードの別名(機能名) |
エクセル Excel VBA Visual Basic for Applications Excel2000 Excell2002 Excel2003 Excel2007 Excel2010 Microsoft Office Excel VBA 1行 Tips 集 VB6.0で操作するExcel サンプル集 |