SystemWatanabe
本文へジャンプ
【Excel講座】

Excelでアプリケーションを作成する際に知っていると役立つと思われる事項を中心に掲載しています。ご自身でアプリケーションを作成される際のヒントになれば幸いです。


[基本操作]
デザインモードに切り替える
VBエディタ(Visual Basic Editor)を起動する
セキュリティの設定

[ワークシート]
セルの値をリスト選択入力可能にする
セルごとにIMEの入力モードを設定する
入力された値によりセルの文字色を変える
セルに入力された数値の小数点の位置を揃える
印刷時に行タイトルを印字する
印刷結果をPDFファイルとして出力する方法

[VBA (マクロ)]
マクロを自動作成する
名前定義を利用する
ブック起動時に特定の処理を自動実行させる
四捨五入の注意点
画面の更新を一時停止する
フォームを使った顧客管理の作成

[その他]
Excelが起動できない・起動が遅い場合の対処方法
原因不明なエラーや現象発生時の対処法
Excel関連のお勧めQ&Aサイト
Excel関連のお勧め書籍


[基本操作]
●デザインモードに切り替える 
Excelシート上にボタンやラベルを配置・変更したり、一時的にマクロを無効にして変更を行う場合は、デザインモードに切り替えます。
Excel2003・・・メニューバー「表示→ツールバー→コントロールツールボックス→デザインモード(三角定規の絵のボタン)」
Excel2007・・・リボン「開発→デザインモード」(開発タブが表示されていない場合は「Officeボタン→Excelのオプション→基本設定→Excelの使用に関する基本オプション→[開発]タブをリボンに表示する」をチェックONする)
Excel2010/2013/2016・・・リボン「開発→デザインモード」(開発タブが表示されていない場合は「ファイル→オプション→リボンのユーザー設定→メインタブ→[開発]をチェックONする」)

●VBエディタ(Visual Basic Editor)を起動する 
VBAコードやVBAユーザフォームを表示するには、VBエディタ(Visual Basic Editor)を起動します。
Excel2003・・・メニューバー「ツール→マクロ→Visual Basic Editor」
Excel2007・・・リボン「開発→Visual Basic Editor」(開発タブが表示されていない場合は「Officeボタン→Excelのオプション→基本設定→Excelの使用に関する基本オプション→[開発]タブをリボンに表示する」をチェックONする)
Excel2010/2013/2016・・・リボン「開発→Visual Basic Editor」(開発タブが表示されていない場合は「ファイル→オプション→リボンのユーザー設定→メインタブ→[開発]をチェックONする」)


●セキュリティの設定
VBA(マクロ)を使用したExcelファイルを起動する場合、Excelのセキュリティ設定を確認しておきましょう。
Excel2003の場合は、メニューバー「ツール→マクロ→セキュリティ」を選択すると「セキュリティ」ダイアログが表示されます。セキュリティレベルが「高」に設定されていると、署名付きマクロ以外は実行することができませんので、セキュリティレベルを「中」に設定し、VBAを使用したExcelファイルを起動する際に確認メッセージが表示されるようになりますので「マクロを有効にする」を選択して起動します。
Excel2007の場合は、VBAを使用したExcelファイルを起動するとリボンの下へ「セキュリティ警告」が表示され「オプション...」をクリックし、「このコンテンツを有効にする」を選択するとマクロを有効にして起動することができますが、この場合、印刷プレビュー画面のツールボタンが使用できない状態になるなどの現象が発生する場合もあるようですので「Officeボタン→Excelのオプション→セキュリティ センター→セキュリティ センターの設定→信頼できる場所」に信頼できる場所を設定してその信頼できる場所(フォルダ)へファイルを置いて実行することをお勧めします。
Excel2010/2013/2016の場合は、VBAを使用したExcelファイルを起動するとリボンの下へ「セキュリティ警告」が表示されますので「コンテンツの有効化」をクリックするとマクロを有効にして起動することができます。(Excel2010以降のバージョンでは一度有効化したファイルは次回からは警告表示されないようです)


[ワークシート]

●セルの値をリスト選択入力可能にする
入力規則のリストを設定しておくことにより、セルの値をリストから選択入力させることが可能となります。
例えば、C4セルが性別を入力するセルの場合、C4セルで
Excel2003・・・メニューバー「ツール→入力規則」
Excel2007/2010/2013/2016・・・リボン「データ→データの入力規則」
を選択して「データの入力規則」ダイアログを表示し、「設定」タブ内にある「入力値の種類」欄へ「リスト」を設定し、「元の値」欄へ「男,女」(選択値をカンマで区切る)を入力しておきます。これにより、B5セルに移動すると▼ボタンが表示され、リスト(男/女)から選択して入力することが可能となります。

 


また、別シートへリスト選択値用の値を入力しておき、その値からリスト選択入力することも可能です。
例えば、「設定」という名前のシートのA2からA10を名前定義により「担当リスト」として設定しておき、担当者を入力したいセルで入力規則のリストの「元の値」欄へ「=担当リスト」を設定しておくと、担当リストに入力された値がリスト表示されます。

 

 



●セルごとにIMEの入力モードを設定する
入力規則の日本語入力を設定することにより、セルごとにIMEの入力モードを自動的に切り替えることができます。例えば、B5セルが名前欄でB6セルが日付欄の場合、B5セルで
Excel2003・・・メニューバー「ツール→入力規則」
Excel2007/2010/2013/2016・・・リボン「データ→データの入力規則」
を選択して「データの入力規則」ダイアログを表示し、「日本語入力」タブ内にある「日本語入力」欄へ「ひらがな」を設定し、同様にB6セルの「日本語入力」欄へ「オフ」を設定することにより、B5へアクティブセルが移動するとひらがな入力モードとなり、B6へアクティブセルが移動するとIMEがオフとなって英数字のみが入力可能となります。





●入力された値によりセルの文字色を変える
条件付き書式を設定しておくことにより、入力された値によってセルの文字色を変化させることが可能です。例えば、セルへ50未満の数値が入力された場合に文字色を赤色、70未満は黄色、70以上は青色で表示するなどのように視覚的に分かりやすく表示することができます。
Excel2003・・・メニューバー「書式→条件付き書式」
Excel2007/2010/2013/2016・・・リボン「ホーム→条件付き書式→セルの強調表示ルール」




また、セルの値がプラス値かマイナス値かにより文字色を変える場合は、セルの書式設定の「表示書式」の「ユーザ定義」で設定することも可能です。例えば、プラス値は青文字、マイナス値は赤文字で表示したい場合は、 [青]#,##0;[赤]-#,##0 のように(プラス値書式;マイナス値書式)設定します。色は[黒][青][水][緑][紫][赤][白][黄]の8色が指定可能です。



●セルに入力された数値の小数点の位置を揃える
1列に入力されたセルの小数点位置を揃えたい場合、表示形式に #,##0.00 を設定すると小数以下の足りない桁は0で埋められて表示されます。
表示形式
標準
表示形式
#,##0.00
1 1.00
1.2 1.20
1.23 1.23
1000 1,000.00

また、表示形式に ?,???.?? を設定すると足りない桁はスペースで表示されます。
表示形式
標準
表示形式
?,???.??
1    1.
1.2    1.2
1.23    1.23
1000 1,000.


●印刷時に行タイトルを印字する
たくさんのデータを入力して印刷する場合、2頁目以降には項目名やタイトルが表示されず印字されているデータの意味が分かりづらい場合があります。そんな時は行タイトルを設定します。
3行目からデータが入力されている場合、
Excel2003・・・メニューバー「ファイル→ページ設定→シート→印刷タイトル→行のタイトル」
Excel2007/2010/2013/2016・・・リボン「ページレイアウト→印刷タイトル→タイトル行」
へ「$1:$2」を設定すると、2頁目以降も1行目と2行目がページ上部へ常に印字されるようになります。





●印刷結果をPDFファイルとして出力する方法
Excelで作成した内容をPDFファイルにしてメール添付したり資料として保存しておきたい場合もあるかと思います。Office2007以降ではPDF形式で保存する機能が付加されましたが、Excel2003を使用している場合でも、出力するプリンタとしてAcrobat(製品版)などのPDFプリンタドライバを使用すれば簡単にPDFファイルとして出力することができます。
PDFプリンタドライバをインストールしておき、レポートのページ設定でプリンタとしてそのPDFプリンタドライバを選択すればPDFファイルとして出力されます。






[VBA (マクロ)]

●マクロを自動作成する
VBAマクロを一から覚えて記述していくことは意外と大変な作業ですが、Excelにはマクロを自動作成してくれる機能が備わっていますので、まずは、この機能を利用してマクロを作成してみましょう。
Excel2003・・・メニューバー「ツール→マクロ→新しいマクロの記録」
Excel2007・・・リボン「開発→マクロの記録」(開発タブが表示されていない場合は「Officeボタン→Excelのオプション→基本設定→Excelの使用に関する基本オプション→[開発]タブをリボンに表示する」をチェックONする)
Excel2010/2013/2016・・・リボン「開発→マクロの記録」(開発タブが表示されていない場合は「ファイル→オプション→リボンのユーザー設定→メインタブ→[開発]をチェックONする」)

上記の手順でマクロの記録を開始したら、自動化したい作業をいつも通りの手順で操作します。自動化したい作業を操作し終わったら「記録終了」ボタンをクリックしてマクロの記録を終了させます。VBエディタ(Visual Basic Editor)を起動して、標準モジュールを見ると、先程おこなった作業内容がVBAマクロとして記述されています。そのマクロをコマンドボタンに割り当てれば、自動実行できるVBAマクロの完成です。まずは、この機能でVBAマクロを自動作成し、記述されている内容をExcelヘルプやマニュアル本などで理解しながら、必要に応じて手直ししたり、記述方法を研究したりしていくと、自然にVBAマクロが理解できるようになります。(自動作成したVBAマクロの記述には不要な記述が含まれてしまうことが多々ありますので、動作速度が遅いと感じる場合等は、記述の見直しを行って処理を最適化しましょう)


●名前定義を利用する
VBAコードでシート上のセルに入力された値を参照する場合、セルアドレス(Range("B5")、Cells(5,2))等を記述すると何の項目か判断しづらく、また、そのセルの上下左右にセルを挿入したり削除したりするとセルアドレスが変わってしまうためその都度、VBAの記述も変更しなければならなくなります。そのような手間を省くためにもVBAコードから特定のセルの値を参照する際は名前定義を利用すると便利です。
例えば、B5セルに自社名が入力されている場合、B5セルに名前定義で「自社名」と設定しておくと、VBAコードからは Range("自社名") で値を参照することが可能となります。また、他のセルから自社名の値を参照する場合も =自社名 で値を参照することが可能となります。
Excel2003・・・メニューバー「挿入→名前→定義」
Excel2007/2010/2013/2016・・・リボン「数式→名前の管理」





●ブック起動時に特定の処理を自動実行させる
ブックを開いた際に特定の処理を自動実行させたい場合は、ThisWorkbookに処理を記述しておきます。
例えば、ブックを開いた時には「メニュー」という名前のシートを表示した状態としたい場合は、VBエディタ(Visual Basic Editor)のプロジェクトエクスプローラ内にある「ThisWorkbook」に下記を記述しておきます。
Private Sub Workbook_Open()
  Worksheets("メニュー").Select
End Sub

また、同様にブックを閉じる際に実行したい処理(Workbook_BeforeClose)やシート変更時の処理(Workbook_SheetChange)、シート追加時の処理(Workbook_NewSheet)等、ブックに関連するイベントの発生時の処理をThisWorkbookへ記述することが可能です。


●四捨五入の注意点
四捨五入の関数といえば、「Round関数」と思いがちですがVBAでは注意が必要です。
VBAでのRound関数は、"算術型" の丸め処理ではなく "銀行型" の丸め処理が行われます。
"算術型" の丸め処理とは・・・ ".5" は常に切り上げられます。
"銀行型" の丸め処理とは・・・ ".5" は、結果が偶数になるように丸め処理が行われ、切り上げられることも切り捨てられることもあります。 <参考情報>Microsoftサポート技術情報⇒VBAのRound関数について
ワークシート関数のRoundは算術型丸めを行っているため、VBAのRound関数も算術型丸めだと思って使ってしまうと、思わぬ結果をもたらしてしまいます。
一般的な業務で使用する四捨五入は算術型丸めが多いと思いますので、VBAのRound関数は使用せず、ワークシート関数を使用するよう覚えておきましょう。
wAtai = Application.WorksheetFunction.Round(数値,桁数)

また、VBAには切り上げや切り捨ての関数は用意されていませんので、切り上げ・切り捨ての場合にもワークシート関数を使用しましょう。
切り捨て・・・ wAtai = Application.WorksheetFunction.RoundDown(数値,桁数)
切り上げ・・・ wAtai = Application.WorksheetFunction.RoundUp(数値,桁数)


●画面の更新を一時停止する
VBAは作業を自動化させるものであるため処理実行中は作業内容どおり画面に表示され、あまり表示させたくない処理経過が表示されたり、画面がちらついて表示されたりする場合があります。そのような場合には、処理の始めに
Application.ScreenUpdating = False
を記述して画面の更新を一時停止し、処理の終わりに
Application.ScreenUpdating = True
を記述して画面の更新を再開させます。
処理中に画面の更新を停止させることにより処理速度も向上します。


●フォームを使った顧客管理の作成
ユーザーフォームを使った顧客管理ソフトの作成手順を下記サイトで解説していますのでご参考ください。
第1回 [初級編]
第2回 [検索ボタンの追加]
第3回 [移動ボタンの追加]
第4回 [名前定義の利用]




[その他]

●Excelが起動できない・起動が遅い場合の対処方法
Excelがエラーで起動できない場合やExcelの起動が異常に遅い場合、Excel.xlbファイル(カスタムツールバーやメニューバーの情報を格納するファイル)が破損してる場合があります。
WindowsXPの場合・・・C:\Documents and Settings\<ユーザー名>\Application Data\Microsoft\Excel
Vistaの場合・・・C:\Users\<ユーザー名>\AppData\Roaming\Microsoft\Excel
のフォルダ中にあるExcel.xlbファイル(Excel2000はExcel.xlb、Excel2002はExcel10.xlb、Excel2003はExcel11.xlb、Excel2007はExcel12.xlb、Excel2010はExcel14.xlb、Excel2013はExcel15.xlb、Excel2016はExcel16.xlb)を別のファイル名(oldExcel.xlbなど)にリネームしてみてください。Excelを起動して正常動作が確認できたら、リネームしたファイルは削除して構いません。
(参考情報1)[Microsoft] Excel がエラーで起動できない場合の対処方法
(参考情報2)[Microsoft] Excel 2007 の起動に関する問題のトラブルシューティング方法


●原因不明なエラーや現象発生時の対処方法
Excelでアプリケーションを作成している際に原因不明なエラーや現象に遭遇し、エラーメッセージに表示されているヘルプを参照しても原因が判明しない場合は、[Microsoftサポート技術情報]サイトの検索欄でエラーメッセージや現象などを入力して検索してみてください。同様の現象がすでに報告されていれば対処方法などが掲載されています。
また、Excel自身の不具合による現象である場合も多々ありますので、必ず、Excelを最新の状態に更新することをお勧めいたします。OfficeのService Pack(SP)は自動更新されませんので、ご自身で任意にダウンロードして更新する必要があります。[Officeバージョン確認方法] [SPダウンロードセンター]
Microsoftサポート技術情報にも該当事項が見当たらず、最新の状態に更新しても解決しない場合は、Google検索エンジン等にエラーメッセージや現象などを入力して検索してみてください。同じトラブルに遭遇した人の解決方法等が掲載されていたり、とても参考になります。

●Excel関連のお勧めQ&Aサイト
Excelでアプリケーションを作成する際など、Excelについて分からない事や疑問に思う事が発生し、ご自身の周りにもExcelに詳しい方がいない場合は、ExcelのQ&Aサイトを利用されてはいかがでしょうか。
モーグ(http://www.moug.net/)のQ&Aサイトがお勧めです。
Q&Aサイトを利用される際のマナーとして他の人が以前同じ質問をしていないか必ず確認してから質問しましょう。(Q&Aサイトでは過去ログ検索機能等がありますので、まずはそこから検索してみましょう)











デル株式会社














ウイルスバスターで有害サイトをブロック

●Excel関連のお勧め書籍
       

オンライン書店【Amazon】で今売れているExcel書籍はこちらからご覧いただけます ⇒ Excel関連書籍
実際に書籍を購入された人の感想や書籍の中身の一部が見れるものもあり、Excel書籍の購入に迷っている方には必見です。


>>Home