トッカンソフトウェア

Excl VBA

今回はWSHではないのですが、Excelでマクロを組むときに纏まっていると楽なので、纏めてみました。


シートの指定

				
Dim sht As Worksheet

' シートの指定(シート名)
Set sht = Worksheets("Sheet3")

' シートの指定(シート番号 1~)
Set sht = Worksheets(1)

			
全シートでループ
				
Dim i As Integer

For i = 1 To ThisWorkbook.Worksheets.Count

	' シートの指定(シート番号 1~)
	Set sht = ThisWorkbook.Worksheets(i)

	' シート名
	Debug.Print sht.Name

Next

			

セルの指定、処理

				
' セルの指定(位置)
sht.Range("A2") = "TEST"

' ↑同じセルを指している↓

' セルの指定(y,x)
sht.Cells(2,1) = "TEST"

' 範囲指定
sht.Range("A1:C3")

' セルの選択
sht.Range("A1:C3").Select
sht.Cells(2,1).Select

' セルのクリア
sht.Range("A1:C3").Clear

			

Excelを開く、保存、閉じる

				
' Excelファイルを開く
Dim wb As Workbook
Set wb = Workbooks.Open("C:\work\test.xlsx")



' Excelファイルを上書き保存
wb.Save

' 名前を付けて保存
'wb.SaveAs "C:\work\test2.xlsx"

' Excelファイルを閉じる
wb.Close

			
確認ダイアログなしでExcelファイルを閉じる
				
' 確認ダイアログなしでExcelファイルを閉じる
Application.DisplayAlerts = False
wb.Close
Application.DisplayAlerts = True

			

最終行、最終列

				
Set sht = Worksheets("Sheet3")

' 最終行(1列目をチェック)
sht.Cells(sht.Rows.Count, 1).End(xlUp).Row

' 最終列(1行目をチェック)
sht.Cells(1, Columns.Count).End(xlToLeft).Column


'使用サンプル
Dim i As Integer
Dim max As Integer
Dim work As String

' 最終行を取得(1列目をチェック)
max = sht.Cells(sht.Rows.Count, 1).End(xlUp).Row

For i = 1 To max

	work = sht.Range("A" & i)

Next

			

A1を選択

				
' 指定シートをアクティブ
Worksheets("Sheet1").Activate				

' セルの選択
Range("A1").Select

' スクロール行の設定
ActiveWindow.ScrollRow = ActiveCell.Row

' スクロール列の設定
ActiveWindow.ScrollColumn = ActiveCell.Column


			

メッセージ表示

				
' ダイアログ表示
MsgBox "Hello world"

' イミディエイトウィンドウ表示
Debug.Print "Hello world"

			

ページのトップへ戻る