記述の規則 開始・終了処理 プログラム制御 ファイル操作
ワークブック・シート操作 セル・行・列の操作 セルの書式設定 関数
ウィンドウ操作 グラフ操作 データベースの操作 印刷
 
Page Index
 
本章では、ワークブックやシートの操作に関するコードサンプルを例示します。
 
Workbook、Worksheetオブジェクトの参照 ↑ このページの最初へ
名前またはインデックス番号による参照
 Workbooks("Book1")
 Worksheets("Sheet1")
 Worksheets(1)   '1番目のシート
アクティブなオブジェクトの参照
 ActiveWorkbook.Name
 ActiveSheet.Range("A1")
現在実行中のマクロが記述されているオブジェクトの参照
 ThisWorkbook.Name
 ThisWorkSheet.Range("A1")
※マクロの中でブックの切り替えを行うようなときには、ActiveWorkbookとThisWorkbookは別のものを指す
※※Worksheetsをsheetsと表現しても良い
 
指定したシートをアクティブにする ↑ このページの最初へ
アクティブにするとは、マウスやキーボードでで「シートを選択する」という操作のことです。

Object.Activate

<記述例>
Worksheets("Sheet1").Activate
Worksheets(1).Activate
 
ワークシート名を参照・設定する ↑ このページの最初へ
Name = "ワークシート名"

<記述例>
Worksheets("Sheet1").Name = "月次集計"
 
ワークシートを選択する ↑ このページの最初へ
Activateメソッドと違い、複数のワークシートを選択状態にでき、選択されたシートはすべてアクティブシートになります。

Object.Select(Replace)

<記述例>
Worksheets("Sheet3").Select

<応用例 Sheet3とSheet4を選択して、ワークシートの枠線を消す>
複数のシートを選択するには、Array関数を使用します
Worksheets(Array("Sheet3", "Sheet4")).Select
ActiveWindow.DisplayGridlines = False
 
シートをプロテクトする ↑ このページの最初へ
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
 
ワークシートの内容をクリアする ↑ このページの最初へ
Worksheets("Sheet1").UsedRange.Clear
 
ワークシートを追加する ↑ このページの最初へ
Worksheets.Add (Before, After, Count, Type)

<記述例>
Worksheets.Add
Worksheets.Add(After:=Worksheets("Sheet2"))
Set NewWS = Worksheets.Add
Worksheets.Add Count:=3       '3シート追加

最後のシートの前に新しいワークシートを追加する
ActiveWorkbook.Sheets.Add Before:=Worksheets(Worksheets.Count)
 
ワークシートを削除する ↑ このページの最初へ
object.Delete

<記述例>
Activesheet.Delete
Worksheets("追加シート").Delete
 
ワークシートをコピーする ↑ このページの最初へ
Object.Copy(Before, After)

<記述例>
'ワークシートSheet1をコピーしSheet2にコピーする
 Worksheets("Sheet1").Select
 Cells.Select
 Application.CutCopyMode = False
 Selection.Copy

 Worksheets("Sheet2").Select
 Cells.Select
 Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False 
'貼り付け

'ブック間でワークシートをコピーする
Workbooks("99-03.xls").Worksheets("Sheet1").Copy After:=Workbooks("Book4.xls").Worksheets("Sheet2")

新しいブックを作成しそこにワークシートSheet1をコピーする
引数「Before」「After」を省略すると、新しいブックが作成されてそこにワークシートがコピーされる。
Worksheets("Sheet1").Copy
 
前後のシートに移動する ↑ このページの最初へ
Sub Forwardsheet()
Dim Maxsheets As Integer
Dim i As Integer
'最大シート数を求める
Maxsheets = ActiveWorkbook.Worksheets.Count
'カレントのシート番号を求める
For i = 1 To Maxsheets
If Worksheets(i).Name = ActiveSheet.Name Then Exit For
Next i
'次の選択可能なシートを求める
For i = i To Maxsheets
If i < Maxsheets Then
If Worksheets(i + 1).Visible = True Then Exit For
End If
Next i
'シートを進める
If i < Maxsheets Then Worksheets(i + 1).Select
End Sub

Sub Backwardsheet()
Dim Maxsheets As Integer
Dim i As Integer
'最大シート数を求める
Maxsheets = ActiveWorkbook.Worksheets.Count
'カレントのシート番号を求める
For i = 1 To Maxsheets
If Worksheets(i).Name = ActiveSheet.Name Then Exit For
Next i
'次の選択可能なシートを求める
For i = i To 1 Step -1
If i > 1 Then
If Worksheets(i - 1).Visible = True Then Exit For
End If
Next i
'シートを戻す
If i > 1 Then Worksheets(i - 1).Select
End Sub
 
Sheet2 および Sheet3 のデータをSUM 関数を使って Sheet1 に統合する ↑ このページの最初へ
Worksheets("Sheet1").Range("A1").Consolidate _
sources:=Array("Sheet2!R1C1:R37C6", "Sheet3!R1C1:R37C6"), _
Function:=xlSum
 
罫線を引く ↑ このページの最初へ
Tate = ActiveCell.Row

Range(Cells(Tate + 1, 1), Cells(Tate + 5, 68)).Select
With Selection.Borders(xlLeft)
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlRight)
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlTop).LineStyle = xlNone
With Selection.Borders(xlBottom)
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.BorderAround LineStyle:=xlNone
 
ユーザーフォーム(ダイアログシート)を表示する ↑ このページの最初へ
DialogSheets("Dialog1").Show

DialogSheets("Dialog1").Hide
 
ワークシートで使われたセル範囲を把握する ↑ このページの最初へ
Object.UsedRange

<記述例>
ActiveSheet.UsedRange.Select
 
ワークシートを表示(非表示)する ↑ このページの最初へ
Object.Visible = 論理値

<記述例>
Worksheets("Sheet1").Visible = True
 
ワークシートをソートする ↑ このページの最初へ
'A列からF列を順ソートする。ソートキーはA列とB列
Sheets("Sheet1").Select
Columns("A:F").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1"), _
  Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
  Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:=xlSortNormal, _
  DataOption2:=xlSortNormal
 

↑ このページの最初へ

  ご意見・ご感想をお寄せください。info@beagle-hc.com ‖ このサイトについて                                     
  Copyright 2006 - 2009 uTRAM Corp. All Rights Reserved
BEAGLE-HC
HOME くすりのこと 研究開発 個別業務 IT 広報・教育 団体・組織

医薬品・医療機器の研究・開発 ポータルサイト
          サイトマップ
 現在位置 : HOME > IT プログラミング > Excel コードライブラリアン(ブック・シート操作)