teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2020/01/08 10:53

投稿

mattuwan
mattuwan

スコア2167

answer CHANGED
@@ -33,4 +33,45 @@
33
33
  気長にまっていただくしかないかと思います。
34
34
  待っている間に基礎から少しづつ勉強しておいていただけるといいかなと思います。
35
35
 
36
- 次見たときに解決になっていなかったら何か書いてみます。
36
+ 次見たときに解決になっていなかったら何か書いてみます。
37
+
38
+ ---
39
+ 反応がないようだけど、まだ、諦めずに待っているのだろうか。。。
40
+
41
+ とりあず、
42
+ 手動でやるときは(ってか手動でやればいいと思うけど。。。)、
43
+ 渡されたデータを画面または印刷して、
44
+ タイトルAの必要な個所をみて、
45
+ 蓄積していくブックのタイトルAのシート上の表の該当する位置に入力していくと思います。
46
+ マクロでセルに値を入れるときは、代入式で表現します。
47
+
48
+ 例)B1セルの値をA1セルの値に設定する
49
+ Range("A1").value = Range("B1").Value
50
+
51
+ 次に、
52
+ 基準となるセルから相対位置でセルの位置を示す時は、
53
+ OffsetプロパティとCellsプロパティと2種類示す方法があります。
54
+ 今回の場合はCellsプロパティを使用する方がよいでしょう。
55
+
56
+ 例)新しいデータのブックのデータのシートのA27セルが今回の転記の基準セルとして、
57
+ I27セルを相対的に示す
58
+ Workbooks(新しいデータブックの名前).Worksheets(データのシートの名前).Range("A27").Cells(1,9)
59
+
60
+ なので、
61
+ ```ExcelVBA
62
+ Sub 転記()
63
+ Workbooks("元").Worksheets("元").Range("B14").Cells(1, 2).Value = Workbooks("先").Worksheets("先").Range("A27").Cells(1, 9).Value
64
+ Workbooks("元").Worksheets("元").Range("B14").Cells(1, 3).Value = Workbooks("先").Worksheets("先").Range("A27").Cells(1, 10).Value
65
+ Workbooks("元").Worksheets("元").Range("B14").Cells(1, 4).Value = Workbooks("先").Worksheets("先").Range("A27").Cells(1, 11).Value
66
+ End Sub
67
+ ```
68
+ このように位置関係を示して、値の転記をしていけばよいです。
69
+
70
+ まずは、タイトルAの表に限ってコードを書いてマクロを書いてみてください。
71
+ あとは、基準のセルが変わるだけで(転記先のシートも変わるとは思いますが)、
72
+ 相対位置は変わらないと思います。
73
+ なので、基準を変えて同じ作業を繰り返せばよくなります。
74
+ コンピューターは繰返しの作業は得意なので、とりあえず1つを出来るようになってください。
75
+ それが出来たら次の段階です。
76
+ 上手くできたら、コードを提示してみてください。
77
+ それを見て、次の段階の説明をします。

1

追記

2020/01/08 10:53

投稿

mattuwan
mattuwan

スコア2167

answer CHANGED
@@ -11,4 +11,26 @@
11
11
 
12
12
  マクロ化にしても、まずはエクセルの使い方をマスターすることが、
13
13
  より近道かなとは思います。
14
- まぁ、どの道を通ってもいいのですが。
14
+ まぁ、どの道を通ってもいいのですが。
15
+
16
+ ---
17
+ 追記
18
+
19
+ イメージありがとうございます。
20
+ よく読んでないですが、参照するファイルがどんどん変わってきて、
21
+ その与えられたデータをもう一方に転記蓄積したいということですかね?
22
+ ならば、マクロになるかと思います。
23
+
24
+ が、
25
+ エクセル方眼紙と呼ばれるような形でデータが与えられるのですね^^;
26
+ こういう形で作ると非常にデータの再利用が難しくなります。
27
+ 変更が可能なら変えた方がよいです。
28
+ 出来れば、結合セルを使わない方向で検討されることをお勧めします。
29
+ VBAでやるならどのようにも出来ますが、
30
+ これからVBAを勉強されるということならば、道のりは長いかと思います。
31
+
32
+ ちょっと、説明とか書く時間がなかなか取れないので、
33
+ 気長にまっていただくしかないかと思います。
34
+ 待っている間に基礎から少しづつ勉強しておいていただけるといいかなと思います。
35
+
36
+ 次見たときに解決になっていなかったら何か書いてみます。