指定したBookのシート毎のセルの内容を取得
2025/07/12
指定したBookのシート毎のセルの内容を取得しDebug.Printで表示してみます。
◆環境
| OS |
Windows 10 Home 22H2 64bit |
| Excel |
Microsoft Office Home and Business 2010 14.0.7268.5000 (32 ビット) |
- 開発タブを表示する設定
- プログラム
開発タブを表示する設定
[ファイル]メニューを開き[オプション]を選択します。
[リボンのユーザー設定]を選択し右側の[開発]をチェックし[OK]を押します。
[開発]タブを選択し[Visual Basic]をクリックします。
以上でVBAの編集の準備ができました。
プログラム
実行するとファイル選択ダイアログが開き、Excelブックを指定するとそのブックのすべてのシートのセル(5, 5)の値を表示するプログラムを作ってみます。
|
YMWEVBA045.xlsm
|
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
|
Option Explicit
Function ProcEachWorkbook(wb As Workbook) As Integer
Debug.Print "wb.Name=[" & wb.Name & "]"
Dim ws As Worksheet
Dim ret As Integer: ret = 0
For Each ws In wb.Worksheets
ret = ProcEachWorksheet(ws)
If ret <> 0 Then
Exit For
End If
Next
ProcEachWorkbook = ret
End Function
Function ProcEachWorksheet(ws As Worksheet) As Integer
Debug.Print "ws.Name=[" & ws.Name & "]"
Debug.Print "(5:5)=[" & ws.Cells(5, 5).Value & "]"
ProcEachWorksheet = 0
End Function
Sub ReadBook()
Debug.Print "START ReadBook"
' ファイルを選択
Dim FileName As String
FileName = Application.GetOpenFilename( _
"Excel ファイル,*.xlsx" _
)
If FileName = "False" Then
MsgBox "ファイルを指定してください。"
Exit Sub
End If
Debug.Print "FileName=[" & FileName & "]"
' ファイルを開く
Dim wb As Workbook
Set wb = Workbooks.Open(FileName)
Dim ret As Integer
ret = ProcEachWorkbook(wb)
' ファイルを閉じる
wb.Close
Debug.Print "E N D ReadBook"
End Sub
|
|
ブック毎の処理とシート毎の処理で関数を分けてみました。
▲ PageTop ■ Home
Copyright (C) 2025 ymlib.com