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