目標
Excelのオブジェクトへの操作を体験して動きを把握し利用できる
ワークシートと行列の操作を確認して動きを把握できる
オブジェクトの概要と操作
オブジェクトの概要についてはこちらを参考にしてください。
初心者のためのExcelVBAのオブジェクトExcelVBAのオブジェクトについて説明しています...
Excelブックの準備
Excelのブックを準備して「Sheet6」まで追加しておきます。
Sheet5に次の内容を記述しています。
ワークシートの操作
サンプルプロシージャ1
Sub wsObjectOpe()
'##################################################
'# ワークシートの操作 #
'##################################################
'ワークシートの選択
'---------------------------------------------------------------------------------------------
Worksheets("Sheet5").Select
'---------------------------------------------------------------------------------------------
'ワークシートの複数選択
'---------------------------------------------------------------------------------------------
Worksheets(Array("Sheet1", "Sheet3", "Sheet5")).Select
'---------------------------------------------------------------------------------------------
'シートをアクティブにする
'---------------------------------------------------------------------------------------------
Worksheets("Sheet6").Activate
'---------------------------------------------------------------------------------------------
'ワークシートのコピー
'---------------------------------------------------------------------------------------------
Worksheets("Sheet5").Select
'CopyメソッドでSheet5を、左から6番目のシートのafter(後ろ)にコピー
Worksheets("Sheet5").Copy after:=Worksheets(6)
'---------------------------------------------------------------------------------------------
'ワークシートの名前変更
'---------------------------------------------------------------------------------------------
ActiveSheet.Name = "シート7"
ActiveSheet.Name = "Sheet7"
'---------------------------------------------------------------------------------------------
'ワークシートの移動
'---------------------------------------------------------------------------------------------
'MoveメソッドでSheet7を、左から5番目のシートのafter(後ろ)に移動
Worksheets("Sheet7").Move after:=Worksheets(5)
'---------------------------------------------------------------------------------------------
'ワークシートの保護
'---------------------------------------------------------------------------------------------
'セルに何かを入力すると警告のダイアログボックスがでます。
ActiveSheet.Protect "1234"
'---------------------------------------------------------------------------------------------
'ワークシートの保護解除
'---------------------------------------------------------------------------------------------
ActiveSheet.Unprotect "1234"
'---------------------------------------------------------------------------------------------
End Sub
ステップモードで動作を確認
実行結果
シートの行列の操作
サンプルプロシージャ2
Sub rowColumnsObjectOpe()
'##################################################
'# 行列の操作 #
'##################################################
'シートの行を取得
---------------------------------------------------------------------------------------------
Rows("3:5").Select
'指定した範囲の中からRowsで指定した行数番目の行を取得
'次の場合セルA1からD10のセレクションの中で3行目の行を取得→A3からC3
---------------------------------------------------------------------------------------------
Range("A1:C10").Rows(3).Select
---------------------------------------------------------------------------------------------
'シートの列を取得
---------------------------------------------------------------------------------------------
Columns("C:G").Select
---------------------------------------------------------------------------------------------
'指定した範囲の中からColumnsで指定した列数番目の列を取得
'次の場合セルC1からG10のセレクションの中で4列目の列を取得→F1からF10
---------------------------------------------------------------------------------------------
Range("C1:G10").Columns(4).Select
---------------------------------------------------------------------------------------------
'行や列の幅調整
'行や列の幅を入力の長さに合わせて自動で調整
---------------------------------------------------------------------------------------------
Columns("A:B").AutoFit
---------------------------------------------------------------------------------------------
'行列の表示と非表示
---------------------------------------------------------------------------------------------
'行列の表示
Columns("B").Hidden = True
'行列の非表示
Columns("B").Hidden = False
---------------------------------------------------------------------------------------------
'行列の挿入と削除と選択した列のコピーのための準備
Dim i As Integer
For i = 0 To 6
If i = 0 Then
Cells(1, 4).Value = "ID"
Else
Cells(i + 1, 4).Value = i
End If
Next i
'行列の挿入と削除
'---------------------------------------------------------------------------------------------
'行列の挿入
Columns(4).Insert '「1」は「"A"」、「2」は「"B"」、「4」は「"D"」
'行列の削除
Columns("D").Delete
'---------------------------------------------------------------------------------------------
'D1の内容を列ごとコピー
Range("D1").EntireColumn.Copy
Worksheets("sheet7").Select
'シート6でコピーしたD列を挿入して貼り付け
Columns(1).Insert
'シート6のコピーモードを解除
Application.CutCopyMode = False
'A列の幅の自動調整
Columns("A:J").AutoFit
End Sub
ステップモードで動作を確認
「サンプルプロシージャ1」の実行が終わってから「サンプルプロシージャ2」の実行を行います。(Sheet7が存在している状態)
実行結果
今回は以上となります。
初心者も実践で通用!「VBA・VBS」おすすめ書籍5選 | 現役エンジニア&プログラミングスクール講師「VBA・VBS」初心者の方が実践業務の中でそれらを活用しt活躍できるために必要な知識を習得できる書籍を紹介しています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。
「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...