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"
ページのトップへ戻る