全コース Web フォロー付!! Excel VBA 初心者の方から始められる入門コースから 基本文法が学べるベーシックや 高度なプログラミングが学べるスタンダードまでしっかりと学習できます!! 学習の流れ Excel VBA 入門 VBA 初心者の方 Excel の基本知識をお持ちの方 Excel VBA ベーシック 基本文法を理解し 読解 ( 編集 ) 能力を身につけたい方 Exce lvba スタンダード より高度なマクロの記述能力を身につけたい方 Web フォロー 講義動画をインターネット配信します 受講期間内であれば いつでも講義をご受講いただけます 欠席した場合のフォローや 受講後の復習としてご利用ください 通常受講料 108,000 円 パック受講料 20% OFF 講義日程 内容 Excel VBA 入門 2017 年 9 月 2018 年 1 月 対象 : Excel 中級 コース修了者 または同等レベルの方 マクロ初学者講座内容 :Excelを使用したマクロ VBAの基本知識とマクロの作成講義時間 :2.5 時間 2 回 (1 日 10:00~16:00) 開講予定 通常受講料 15,000 円 Excel VBA ベーシック 2017 年 10 月 2018 年 1 月 開講予定 5 名様集まり次第開講 対象 : ExcelVBA 入門 コース修了者 または同等レベルの方通常受講料講座内容 : 変数と定数 セルの操作 ステートメント 関数 ブックとシートの操作など講義時間 :3 時間 4 回 (2 日間 10:00~17:00) Excel VBA スタンダード 2017 年 10 月 2018 年 2 月 36,000 円 開講予定 5 名様集まり次第開講 対象 : ExcelVBAベーシック コース修了者 または同等レベルの方通常受講料講座内容 : プロシージャ 変数と配列 イベント ステートメント ユーザーフォームなど講義時間 :3 時間 8 回 (4 日間 10:00~17:00) 72,000 円 注 ExcelVBA ベーシックとスタンダード コースは通学講座 ( 渋谷校のみ ) となり 年 3 回開講しております また 各講座 5 名様集まり次第開講決定とさせていただきますので ご了承ください
( 通信は基礎 ) コース概要 Excel マクロと VBA を組み合わせて 簡単なプログラムを作成できる 回数 150 分 2 回 通常受講料 15,000 講座内容 前提条件 カリキュラム マクロ /VBAの基礎知識 マクロの作成など Excelの基本操作が出来る方 1. VBA マクロとは 2. マクロの作成 3. VBEの編集 4. VBAの文法 ( オブジェクト プロパティ メソッド ) 5. モジュール プロシージャ 6. プロシージャのステップアップ 2. マクロの記録 集計ボタンをクリックすると実行されるマクロを作成 並べ替え : 日付の昇順 小計 : 日付を基準に売上金額を合計 Sub 連続するセルに罫線を引く () Range("B5").Select ActiveCell.CurrentRegion.Select 6. CurrentRegion プロパティ セル (B5) から連続するセルの外枠に罫線を引く Selection.BorderAround LineStyle:=xlDouble, _ ColorIndex:=5 6. Select メソッド 春期 シートに切り替える Sub シートチェンジ () オブジェクト メソッド Worksheets(" 春期 ").Select 6. Range プロパティ 土曜日に水色の塗りつぶし日曜日に黄色の塗りつぶし Sub 塗りつぶしの色の変更 () Worksheets( sheet1 ).Range( G7:G11 ) _.Interior.ColorIndex = 8 Worksheets( sheet1 ).Range( H7:H11 ) _.Interior.ColorIndex = 6
コース概要 VBA の基礎知識を習得し プログラムを読んで理解ができ 簡単な編集ができる 回数 180 分 4 回 通常受講料 36,000 講座内容 前提条件 カリキュラム ExcelVBAの基礎 変数 セルやブックの操作 条件分岐など ExcelVBA 入門レベルを修了 またはExcelのマクロの機能を利用できる方 1. 変数と定数 2. セルの操作 3. ステートメント 4. 関数 5. ブックとシートの操作 6. デバック 2. セルの操作 セル (B2) の値のみクリア Sub Sample10() Range("B2").ClearContents ClearContentsメソッド 2. セルの操作 セル (B2) をコピーして セル (C4) に貼り付け Sub Sample12() Range("B2").Copy Destination:=Range("C4") Copyメソッド 1. 変数 3. ステートメント B 列が A 列より大きかったら C 列に 増加 と入力する Sub 複数ステートメントの組み合わせ () Dim i As Long 変数 (i) 宣言 For i = 2 To 7 For Nextステートメント If Cells(i, 2) > Cells(i, 1) Then Next i Cells(i, 3) = " 増加 " If ステートメント 2. セルの操作 セル (A1:D20) を 1 行おきに塗りつぶし Sub Sample17 () Dim i As Long 変数 (i) 宣言 For i = 1 To 20 Step2 For Nextステートメント Range(Cells(i, 1), Cells(i, 4)).Interior.ColorIndex = 15 Next i RangeとCellsで指定する
Sub Sample29() Dim i As Long 変数 (i) 宣言 For i = 1 To 4 For Next ステートメント Cells(i, 2) = Left(Cells(i, 1), InStr(Cells(i, 1), " ") - 1) Cells(i, 3) = Mid(Cells(i, 1), InStr(Cells(i, 1), " ") + 1) Next Left 関数 Mid 関数 InStr 関数 4. 関数 スペースで区切られた名前を前後で分割する 5. ブックの操作 ファイルを開く ダイアログボックスに Excel ファイルだけを表示して 開く 開かない場合は キャンセルされました とメッセージを表示 Sub Sample5() Dim Target As String 変数 (Target) 宣言 Target = Application.GetOpenFilename("Excelブック,*.xlsx") If Target <> "False" Then GetOpenFilenameメソッド Workbooks.Open Target Else MsgBox キャンセルされました MsgBox 関数 5. シートの操作 アクティブシートのシート名を InputBox を使用して 変更する 実行できたら 名前を変更しました 実行できなければ その名前は使用できません とメッセージを表示 Sub Sample20() Dim NewName As String 変数 (NewName) 宣言 NewName = InputBox( 新しいシート名は? ) InputBox 関数 On Errorステートメント ( スタンダードの内容 ) On Error Resume Next ActiveSheet.Name = NewName Nameプロパティ If ActiveSheet.Name = NewName Then Ifステートメント MsgBox 名前を変更しました MsgBox 関数 Else MsgBox " その名前は使用できません "
コース概要 VBA を効率的に利用し 汎用的なプログラムを組むことができる 回数 180 分 8 回 通常受講料 72,000 講座内容 前提条件 配列 イベント 関数などを組み合わせて記述 UserForm,API など Excel ベーシックレベル修了または同等レベルの方 カリキュラム 1. プロシージャ 2. 変数と配列 3. イベント 4. ステートメント 5. 関数 6. エラーへの対応 7. UserForm 8. メニューの操作 9. Windowsの機能を利用 10. レジストリの操作 11. ファイルの操作 1. Function プロシージャ セル (A2:A5) の金額をもとに税込金額をセル (B2:B5) に表示 3. ブックのイベント sheet1 のセル (A1) が空欄のときは メッセージを表示し ブックを閉じさせない Sub Sample3() Sub プロシージャ (Sample3) を実行 Dim i As Long 変数 (i) 宣言 For i = 2 To 5 For Next(2~5 行目まで繰り返し ) Cells(i, 2).Value = Tax(Cells(i, 1).Value) Next Tax で Function プロシージャを呼び出し 結果を呼び出し元に返します Function Tax(Num As Long) As Long Tax = Num * 1.08 End Function Private Sub Workbook_BeforeClose(Cancel As Boolean) WorkbookオブジェクトのBeforeCloseイベント If Worksheets("sheet1").Range("A1").Value = "" Then Worksheets("sheet1").Select Range("A1").Activate MsgBox "sheet1のセルa1が空欄です" Cancel = True 閉じる 3. ブックのイベント 4. ステートメント 新しいシートを追加した時に 今日に対する 年月 のシートがなければその名前で追加するが あれば名前を変更しないで通常通りシートを追加する Private Sub Workbook_NewSheet(ByVal Sh As Object) Dim buf As String, s As Worksheet, flag As Boolean buf = Format(Now, "yyyy 年 m 月 ") For Each s In Worksheets If s.name = buf Then flag = True Next s If flag = False Then Sh.Name = buf For Each Next( すべてのワークシートに実行 ) flag= false シート名 ( 年月 ) がない場合は シート名をbuf( 年月 ) に変更
Sub Sample5_3() Dim buf As String On Error GoTo myerror On Errorステートメント buf = InputBox(" 新しいシート名は?") Sheets("Sheet1").Name = buf Exit Sub Exitステートメント myerror: Select Case Err.Number Case 9 Select Caseステートメント MsgBox "Sheet1が存在しません" Case 1004 エラー番号 1004は2つあるので Ifステートメントで分岐処理 If InStr(Err.Description, " 次の点を確認して ") > 0 Then MsgBox 不正な文字が含まれています InStr 関数でエラーメッセージに Else 文字列が含まれるか検索する MsgBox " 同じシートがすでに存在します " Declare Function SHFileOperation Lib "shell32.dll" _ Case Else (lpfileop As SHFILEOPSTRUCT) As Long MsgBox _ " 想定しないエラーです " End Select 6. エラーへの対応 Sheet1 のシート名を InputBox を使用して変更する もしもエラーが出た場合は 下記のエラー内容に応じてメッセージを表示する 1. ブック内に Sheet1 が存在しない (Case 9) Sheet1 が存在しません 2. 新しいシート名に使用できない文字がある (Case1004) 不正な文字が含まれています 3. 新しいシート名がすでに存在する (Case1004) 想定しないエラーです 'SHFileOperation 関数に渡すユーザー定義型 Type SHFILEOPSTRUCT hwnd As Long wfunc As Long pfrom As String pto As String fflags As Integer fanyoperationsaborted As Long hnamemappings As Long lpszprogresstitle As String End Type ごみ箱に移動する為の API で 宣言セクションに記述する 9. Windows の機能を利用 API を使用して Excel の機能ではない ゴミ箱へファイルを移動する 11. ファイルの操作 C:Sample フォルダ内にあるすべての Excel ファイル (.xlsx) を MsgBox に表示する Sub Sample6() Dim SH As SHFILEOPSTRUCT, re As Long With SH.hwnd = Application.hwnd.wFunc = &H3.pFrom = "C: temp Sample.txt".fFlags = &H40 End With re = SHFileOperation(SH) Sample テキストファイルを削除 ( ゴミ箱へ移動 ) する Sub Sample13() Dim buf As String buf = Dir("C: Sample *.xlsx") Dir 関数 Do While buf <> "" Do Loop MsgBox buf ステートメント buf = Dir() Loop