わいわい広場.ブログ村

初等中等教育に関する雑談です。
ご質問、ご意見には対応する記事のコメント欄をお使いください。

HAF:「Excel VBA実践テクニック」からの引用

2017-11-01 17:03:30 | 原稿

@http://blog.goo.ne.jp/blogmura-yy/e/2351b026b0f3b8fc04b267a13fa2d193
=HAF:「Excel VBA実践テクニック」からの引用
/


%0:[HAF:]「Excel VBA実践テクニック」からの引用

[15].[〔本〕の紹介]で紹介した同名の書籍https://www.amazon.co.jp/%E3%80%8C%E6%AE%8B%E6%A5%AD%E3%82%BC%E3%83%AD%E3%80%8D%E3%81%AE%E6%B1%BA%E3%82%81%E6%89%8B-Excel-VBA-%E5%AE%9F%E8%B7%B5%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E6%97%A5%E7%B5%8CBP%E3%83%A0%E3%83%83%E3%82%AF/dp/4822261980からの引用です.
・Excel関連記事の教科書代わりに使い,第nページにある図kを「図n.k」と略記します(「図n.k」は「日経パソコン」からの転載:p.171参照).
・適宜MSDNの資料(「☆」)を無断で引用します(「★」は無責任メモ).まず
https://msdn.microsoft.com/ja-jp/library/office/ee814737(v=office.14).aspx

・VBA プログラミングの基礎
・マクロと Visual Basic Editor
を見て


Sub Hello()
   MsgBox ("Hello, world!")
End Sub


を実行するワークシートを作ってください(これがあれば「図n.k」との置換だけ).
・Web上の資料は「msdn excel 2010 Range」のようにして検索しています
以下では[%0]の書籍を所有しているものとして「Sub End Sub」のみを引用します
・「Chapterk.zip」(共有していません)を解凍しても「Excel VBA実践テクニック」記載の内容と
http://itpro.nikkeibp.co.jp/npc/download/excelvba2017.html
からダウンロードしたワークシートが一致しないことが多いので「図n.k」のタイトルと「MSDN」の資料(「☆」)だけを紹介します.(cf.[[□.xlsm]内の「Sub□」のリスト]:[Chapter`k.txt]は共有停止.「`k」は独善的記号)
・「★」は無責任資料([Excelに関するメモ]に説明があるかも)
  e.g.[%17:関数とメソッド].[H5K]


%1:Chapter1(pp.7-12)

図8.3:「VBEを起動してプログラムを書いてみる」
・[.xlsm]を作り難ければ,[C1-1.xlsm]をダウンロードして流用.


図8.3:


「図n.k」に対応するワークシートは[Fign-k.xlsm](ブログの図は[Fign-k.PNG])


図9.7:Sub Sample_1_01()
http://www.dropbox.com/s/vpnbjh5gr4slxey/Fig3-8.xlsm?dl=0

・Everyoneが共有(ダウンロードして使ってください)


・「Subプロシージャ」の記述(「MsgBox関数」による表示)
☆MsgBox 関数
https://msdn.microsoft.com/ja-jp/library/cc410277.aspx


図9.9:実行画面


図10.12:ワークシート上に「実行ボタン」を作成
図11.16:Sub Sample_1_02()
・状況に対応したメッセージを表示(「Date関数」「Time関数」)
☆文字列と日付の操作:VBA のヒントとコツ
https://msdn.microsoft.com/ja-jp/library/cc326068.aspx
・「MsgBox関数」の第2引数(「OK」以外のボタンも表示可能)
☆MsgBox 関数
https://msdn.microsoft.com/ja-jp/library/cc410277.aspx

図12.20:「マクロを含むブックを保存する」


%2:Chapter2(pp.13-22)

図14.1:Sub 自動入力04()
・選んだセルに式(Formula)を設定
★[%15:セルと領域の「選択」].[H5K]
図15.2:Sub 自動入力05()
・選んだセルに値(Value)を設定
図16.1:Sub 自動入力06()
・「Offset関数」で指定したセルに式や値を設定
☆OFFSET 関数
https://support.office.com/ja-jp/article/OFFSET-関数-c8de19ae-dd79-4b9b-a14e-b4d906d11b66

図18.4:「Range オブジェクト」の「SpecialCellsプロパティ」
☆Range オブジェクト (Excel)
https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/range-object-excel
・引用するときは[図11.16☆]  
★「SpecialCellsプロパティ」:
https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/range.specialcells-method-excel
申し訳ございません。ご指定のページが見つかりません。

図18.8:「Border オブジェクト」の「LineStyleプロパティ」
https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/border-object-excel
・「Borders」は対象セル(範囲)の設定を表す
  線なし,実線,一点鎖線,二重線,etc.
図18.8:「LineStyle」プロパティは表に示した定数で設定できる
https://msdn.microsoft.com/ja-jp/vba/excel-vba/articles/borders-linestyle-property-excel
・太さは「Weight」プロパティ
 ★申し訳ございません。ご指定のページが見つかりません。

★「繰り返し文」は[図29.1★]

図19.1:Sub 繰り返し01()
・「For文」(連続データ)
図19.1:Sub 繰り返し02()
・「For Each」(一括変換)
図19.1:Sub 繰り返し03()
・「For Each in Range()」(文字列の追加)


%3:Chapter3(pp.23-52)
・「If文」
☆If 文(Basic 構文)
https://msdn.microsoft.com/ja-jp/library/ms225403(v=vs.90).aspx
・このドキュメントはアーカイブされており、メンテナンスされていません

図23.2:Sub Sample_2_01() (「If文①」)

図23.5:Sub Sample_2_02()(「If文②」)

図25.9:☆演算子と Excel での優先順位
https://support.office.com/ja-jp/article/%e6%bc%94%e7%ae%97%e5%ad%90%e3%81%a8-Excel-%e3%81%a7%e3%81%ae%e5%84%aa%e5%85%88%e9%a0%86%e4%bd%8d-48be406d-4975-4d31-b2b8-7af9e0e2878a

・算術演算子,比較演算子,文字列連結演算子,参照演算子
図26.11:Sub Sample_2_04()(「If文③」)

図28.17:VBAの「データ型」
・☆データ型の概要
https://msdn.microsoft.com/ja-jp/library/47zceaw7(v=vs.100).aspx

図29.1:★「VBA Loops」
http://www.worldbestlearningcenter.com/index_files/VBA-Access2010-Loops.htm
-For next loop
-While loop
-Do While loop
-Do Until loop
-For each loop
・「Doループ①②」
図30.2:Sub Sample_3_01()
・正解が入力されるまで繰り返す.
☆「InputBox」関数
https://msdn.microsoft.com/ja-jp/library/cc410238.aspx

図31.5:Sub Sample_3_02()
・コードを修正して「キャンセル」に対応する
・☆暗黙の宣言と明示的な宣言(「Dim」)
https://msdn.microsoft.com/ja-jp/library/xe53dz5w(v=vs.100).aspx
図31.7:「MsgBox関数の第2引数で指定できるボタン」([図9.7★])
図32.9:Sub Sample_3_03()
・点数に応じて評価を入力

・「Cells(行番号,列番号)」による編集
☆CELL 関数
https://support.office.com/ja-jp/article/CELL-関数-51bd39a5-f338-4dbe-a33f-955d67c2b2cf

図33.12:Sub Sample_3_04()
・「九九」の練習プログラム(「For文のネスト 」,「Exit Sub」)
☆Exit文
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/exit-statement
・「&」は文字列連結演算子[図29.1★]

図35.1:「オブジェクト操作の基本①②」
図37.7:Sub Sample_4_03()
・Applicationオブジェクトのメソッドを利用する
図37.9:「オブジェクトに含まれるオブジェクトを取得する」
図37.10:Sub Sample_4_04()
・「B2:E7」のセルに格子の罫線を引く
図38.12:Sub Sample_4_05()
・表全体を自動選択して罫線を設定

図41.1:自動実行される「イベントマクロ」
☆Excel 2010 でイベントが発生したときに VBA コードを実行する
https://msdn.microsoft.com/ja-jp/library/office/hh211482(v=office.14).aspx

図41.2:ワークシートのイベントマクロを作成する
図42.6:「ワークシート」オブジェクトの主なイベント

図42.7:Private Sub Worksheet_Change(ByVal Target As Range)
・値が変更されたセルの色を変える
☆Private SubとSub の違い
https://social.msdn.microsoft.com/Forums/vstudio/en-US/cb4474e4-f815-4689-b10e-22f01c4ce512/what-is-the-difference-between-public-sub-and-private-sub-and-private-function-and-public-function?forum=vbgeneral
https://okwave.jp/qa/q522928.html
★[C4-4.xlsm]に存在しません(図42.7のコードを使ってください)
図43.9(C4-4.xlsm?):
・特定の範囲内のセルの色を変える
図43.9:Private Sub Worksheet_Change(ByVal Target As Range)
・特定の範囲内のセルの色を変える(戻り値が「Nothing」なら「Exit Sub」)
★[C4-4.xlsm]に存在しません(図43.9のコードを使ってください)

図44.14:Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
・独自ショートカットメニューを表示
図45.17:Private Sub WorkbookOpen()
・「WorkbookOpen」イベントの処理
☆Private SubとSub の違い
https://social.msdn.microsoft.com/Forums/vstudio/en-US/cb4474e4-f815-4689-b10e-22f01c4ce512/what-is-the-difference-between-public-sub-and-private-sub-and-private-function-and-public-function?forum=vbgeneral
https://okwave.jp/qa/q522928.html

図45.18:「Workbook」の主なイベント
☆Workbook イベント (Microsoft.Office.Tools.Excel)
https://msdn.microsoft.com/ja-jp/library/microsoft.office.tools.excel.workbook_events.aspx

図47.2:ユーザーフォームを作成する
https://www.slipstick.com/developer/code-samples/vba-userform-sample-select-list-templates/



図48.7:ユーザーフォームで実行するプログラムを記述
・「入力ボタン」をダブルクリックして処理内容を書く(e.g.「図49.9」)
図50.12:クイズ出題フォームを設計する(Excelのワークシート)
図50.14:SubSample_6_02()
・「出題フォーム」を呼び出すためのマクロ(「Load Userform1」)
図51.15:Sub CommandButton1_Click()
・「出題フォーム」のプログラムを記述する
http://itpro.nikkeibp.co.jp/npc/download/excelvba2017.htmlでダウンロードできるファイル内にありません(書籍購入が必須(?))
https://www.dropbox.com/sh/wxbt8nwoubv654l/AACb3N0siIozfFIOtOfcrCf7a?dl=0
の「Chapter`k.zip」(1≦`k≦7)を「TeraPad」で調べました(2017/10/29)
https://books.google.co.jp/books?isbn=4839916527 を見ていると
★この書籍の閲覧制限を超えています。

図51.16:Sub CommandButton2_Click()
・「出題フォーム」の「クイズ中止」ボタンのイベントマクロ
★同上

図52.17:ワークシートにボタンを用意してクイズを実行


%4:Chapter4(p.53-86)


%5:Chapter5(pp.89-108)
図105.3(C5-5.xlsm):Sub Macro1()
・「標準モジュール」にある記録されたマクロを表示する
図106.6:「Range.Copyメソッド」
図106.8:Sub Macro1()
・「Range("A1:A3").Copy Destination:=Range("C1")」(「:=」演算子)
図114.5:マクロで使えるワークシート関数は決まっている
・マクロのコードに「WorksheetFunction」まで書くと,使えるワークシート関数の一覧が表示される


%6:Chapter6(pp.109-132)


%7:Chapter7(pp.135-170)


Webでの「Excel VBA実践テクニック」の検索結果
[1]http://coin.nikkeibp.co.jp/coin/itpro-s/book/dtl/npc011.html
[2]https://eb.store.nikkei.com/asp/ShowItemDetailStart.do?itemId=D2-00262440B0
[3]https://www.amazon.co.jp/ExcelVBA%E5%AE%9F%E8%B7%B5%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%BB%E3%83%8F%E3%83%B3%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-User-Hand-Book-%E9%81%93%E7%94%A8/dp/4798029475
[4]https://www.amazon.co.jp/%E3%80%8C%E6%AE%8B%E6%A5%AD%E3%82%BC%E3%83%AD%E3%80%8D%E3%81%AE%E6%B1%BA%E3%82%81%E6%89%8B-Excel-VBA-%E5%AE%9F%E8%B7%B5%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E6%97%A5%E7%B5%8CBP%E3%83%A0%E3%83%83%E3%82%AF/dp/4822261980
[5]https://www.amazon.co.jp/%E3%80%8C%E6%AE%8B%E6%A5%AD%E3%82%BC%E3%83%AD%E3%80%8D%E3%81%AE%E6%B1%BA%E3%82%81%E6%89%8B-Excel-VBA-%E5%AE%9F%E8%B7%B5%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E6%97%A5%E7%B5%8CBP%E3%83%A0%E3%83%83%E3%82%AF/dp/4822261980
[6]https://www.amazon.co.jp/s/?ie=UTF8&keywords=excel+vba+%E5%AE%9F%E8%B7%B5%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF&tag=yahhyd-22&index=aps&jp-ad-ap=0&hvadid=217334249427&hvdev=c&ref=pd_sl_2jd02pv6w9_e
[2]https://www.amazon.co.jp/s/?ie=UTF8&keywords=excel+vba+%E5%AE%9F%E8%B7%B5%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF&tag=yahhyd-22&index=aps&jp-ad-ap=0&hvadid=217334249427&hvdev=c&ref=pd_sl_2jd02pv6w9_e
[7]https://booklive.jp/product/index/title_id/446062
[8]https://books.google.co.jp/books/about/Excel%E3%81%AE%E6%A5%B5%E6%84%8F6_VBA%E3%81%AE%E5%AE%9F%E8%B7%B5%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83.html?id=u4PS5UsvIccC
[9]https://page.auctions.yahoo.co.jp/jp/auction/x500644583
[10]http://www.shuwasystem.co.jp/support/7980html/2947.html
[11]http://www.pc-brain.com/
・多くの資料がありますが,「Excel VBA実践テクニックからの引用」で検索するとこの記事が見つかるかも.



aa

ジャンル:
ウェブログ
コメント   この記事についてブログを書く
この記事をはてなブックマークに追加
« H6H:Excelに関するメモ(コピ... | トップ | 「パズル1」の解の探索 »
最近の画像もっと見る

コメントを投稿

原稿」カテゴリの最新記事