質問編集履歴

1

内容を大幅に修正しました

2018/12/12 04:30

投稿

vbabeginner
vbabeginner

スコア13

test CHANGED
File without changes
test CHANGED
@@ -2,35 +2,55 @@
2
2
 
3
3
 
4
4
 
5
- Test.xlsbファイルのAAAシートに、
5
+ マクロを関東支部管理表.xlsmファイルに組み込み、そこ中の「設定」シートに、各支部の売り上げ報告を追記していくマクロを考えています。
6
+
7
+ 完成後、関東のみでなく、東海、関西、中国と全国で利用できるようにするため、パラメーターを変更できるよう、マクロがわからない社員でも操作できるようしたいと思い、設定シートに読み込みしたいファイル名を手動で入れるようにしたい。と考えました。
8
+
9
+ (本部で統括管理する必要がないので、各支部で応用できるようにこのような様式にしようと考えています)
6
10
 
7
11
 
8
12
 
9
- A1セル:呼び出したいファイル名.xlsb
10
13
 
14
+
11
- A2セル:Test.xlsm
15
+ そこで、関東支部管理表.xlsmファイルに、「売上」「在庫管理」などの各種の管理項目を盛り込んだうえで、「設定」シートを別途設け、そこにパラメーターを入れ、マクロ実行時にそのセルの内容を引き込みたいと考えました。
12
16
 
13
17
 
14
18
 
15
- と入れました
19
+ 設定シートの中はこのような内容です
16
20
 
17
21
 
18
22
 
23
+ A1セル:本店.xlsb
24
+
25
+ A2セル:駅前店.xlsb
26
+
27
+ A3セル:中央店.xlsb
28
+
29
+
30
+
19
- Test.xlsmを開いてマクロを実行すると、A1セルに記載のデータを開いて、決まった範囲をコピーし
31
+ C1セル:関東支部管理表.xlsm
20
32
 
21
33
 
22
34
 
23
- 、A2セルのウィンドウをアクティブに、データを貼り付け、まA1のブック戻りクリップボード内容空にしたうえA1のブック閉じたいと考えています。
35
+ と入れました。各支部で誰でも変更できるように、店舗名や管理表自体名前、ここ指定すること想定しています。
24
36
 
25
37
 
26
38
 
39
+
40
+
41
+ 関東支部管理表.xlsmを開いてマクロを実行すると、「設定」シートのA1セルに記載のデータ(本店.xlsb)を開いて、決まった範囲をコピーします。その後、C1セルのウィンドウ(関東支部管理表.xlsm)をアクティブにし、データを貼り付け、またA1のブック(本店.xlsb)をアクティブにして、クリップボードの内容を空にしたうえでA1(本店.xlsb)のブックを閉じたいと考えています。
42
+
43
+ 繰り返しで、A2、A3の支店数を繰り返して読み込んでいくことを想定しています。
44
+
45
+
46
+
27
- A1のセルのファイルを開くところまではできましたが、A2に入力されたファイルのウィンドウをアクティブに戻す方法がわかりませんでした。
47
+ A1のセルのファイルを開くところまではできましたが、C1に入力されたファイルのウィンドウをアクティブに戻す方法がわかりませんでした。
28
48
 
29
49
 
30
50
 
31
51
  Dim po As String
32
52
 
33
- po = Range("A2").Value
53
+ po = Range("A1").Value
34
54
 
35
55
  Windows.("po".value)Activate
36
56
 
@@ -38,4 +58,44 @@
38
58
 
39
59
  ファイルはこのような内容で開けましたが、ウィンドウをアクティブにするにはどうすればよろしいでしょうか。
40
60
 
61
+
62
+
63
+ もともとは、
64
+
65
+
66
+
67
+ Windows("駅前店.xlsb").Activate
68
+
69
+
70
+
71
+ というようなスタイルでアクティブにしていましたが、("駅前店.xlsb")の内容を、Excelの設定シートに入力した値から取得したいのです。
72
+
73
+
74
+
41
- ご教授願います。
75
+ ファイルを開くのは
76
+
77
+
78
+
79
+ Dim pa As String
80
+
81
+ pa = Range("A1").Value
82
+
83
+ Workbooks.Open Filename:=pa
84
+
85
+
86
+
87
+ で、A1セルに記載のフルパス、もしくは
88
+
89
+
90
+
91
+ ChDrive ThisWorkbook.Path
92
+
93
+ ChDir ThisWorkbook.Path
94
+
95
+
96
+
97
+ を指定することでファイル名のみで、同一ディレクトリからの参照が出来ました。
98
+
99
+
100
+
101
+ アクティブにするウィンドウをセルから参照するにはどうすればいいか、ご教授願います。