回答編集履歴
1
変数名を整理
answer
CHANGED
@@ -3,42 +3,50 @@
|
|
3
3
|
### ソースコード
|
4
4
|
```vba
|
5
5
|
Sub sample1()
|
6
|
+
|
6
|
-
Dim
|
7
|
+
Dim lngRowsNo As Long ' 書きこむ位置
|
7
|
-
Dim
|
8
|
+
Dim lngSheetIndex As Long ' シートの番号
|
8
|
-
Dim strFile
|
9
|
+
Dim strFile As String ' Excelファイルの場所
|
9
|
-
Dim
|
10
|
+
Dim xlsAcq As New Excel.Application ' 取得側Excel
|
10
|
-
Dim
|
11
|
+
Dim wbAcq As Workbook ' 取得側Excelブック
|
11
|
-
Dim
|
12
|
+
Dim wsAcq As Worksheet ' 取得側Excelシート
|
13
|
+
Dim wsSet As Worksheet ' 設定側Excelシート
|
12
|
-
Const
|
14
|
+
Const strPath As String = "ここでフォルダのパスを指定"
|
15
|
+
Set wsSet = ActiveSheet
|
16
|
+
|
13
|
-
strFile = Dir(
|
17
|
+
strFile = Dir(strPath & "*.xls")
|
14
|
-
|
18
|
+
lngRowsNo = 1
|
15
|
-
Do
|
19
|
+
Do Until strFile = ""
|
16
20
|
'----- Excelブックを開く
|
17
|
-
Set
|
21
|
+
Set wbAcq = xlsAcq.Workbooks.Open(strPath & strFile)
|
18
22
|
|
19
23
|
'----- シートを検索
|
20
|
-
For
|
24
|
+
For lngSheetIndex = 1 To wbAcq.Worksheets.Count
|
21
25
|
'----- 「更新」シートを検索
|
22
|
-
If
|
26
|
+
If wbAcq.Worksheets(lngSheetIndex).Name = "更新" Then
|
23
27
|
'----- 「更新」シートを変数へ登録
|
24
|
-
Set
|
28
|
+
Set wsAcq = xlsAcq.Worksheets(lngSheetIndex)
|
25
29
|
'----- 「更新」シートの内容を現在のシートにコピー(自由に変更して下さい)
|
26
|
-
Cells(
|
30
|
+
wsSet.Cells(lngRowsNo, 1) = wsAcq.Cells(1, 1)
|
27
31
|
'----- 書きこむ位置移動
|
28
|
-
|
32
|
+
lngRowsNo = lngRowsNo + 1
|
29
33
|
'----- 検索の終了
|
30
34
|
Exit For
|
31
35
|
End If
|
32
|
-
Next
|
36
|
+
Next lngSheetIndex
|
33
37
|
|
34
38
|
'----- シート参照の解放
|
35
|
-
Set
|
39
|
+
Set wsAcq = Nothing
|
36
40
|
'----- ブックを閉じる
|
37
|
-
|
41
|
+
wbAcq.Close Savechanges:=False
|
38
42
|
'----- 次のファイルへ
|
39
43
|
strFile = Dir()
|
40
44
|
Loop
|
45
|
+
|
41
46
|
'----- Excelへの参照の解放
|
42
|
-
Set
|
47
|
+
Set xlsAcq = Nothing
|
48
|
+
|
43
49
|
End Sub
|
50
|
+
|
51
|
+
|
44
52
|
```
|