回答編集履歴

7

こちらかがいいかも

2020/07/31 09:34

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -124,6 +124,12 @@
124
124
 
125
125
 
126
126
 
127
+ また、このように、表を縦持ちとして、処理するのが、質問者さんの
128
+
129
+ FINDでやりたい形式かもしれませんね!
130
+
131
+
132
+
127
133
  |西暦|月|使用時間|
128
134
 
129
135
  |:--|:--:|--:|
@@ -143,7 +149,3 @@
143
149
  |2020|7月|XX|
144
150
 
145
151
  |2020|8月|55.83|
146
-
147
-
148
-
149
- また、このように、表を縦持ちとして、今回のFINDで工夫してみるとよろしいかと思います。

6

こちらかがいいかも

2020/07/31 09:34

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -119,3 +119,31 @@
119
119
 
120
120
 
121
121
  https://www.datadeliver.net/receiver/file_box.do?fb=9a132233876d4b4db2693b816cca2ac0&rc=001cb174404346c687b9197920f7c4f7&lang=ja
122
+
123
+
124
+
125
+
126
+
127
+ |西暦|月|使用時間|
128
+
129
+ |:--|:--:|--:|
130
+
131
+ |2020|1月|XX|
132
+
133
+ |2020|2月|XX|
134
+
135
+ |2020|3月|XX|
136
+
137
+ |2020|4月|XX|
138
+
139
+ |2020|5月|XX|
140
+
141
+ |2020|6月|XX|
142
+
143
+ |2020|7月|XX|
144
+
145
+ |2020|8月|55.83|
146
+
147
+
148
+
149
+ また、このように、表を縦持ちとして、今回のFINDで工夫してみるとよろしいかと思います。

5

こちらかがいいかも

2020/07/31 09:32

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -111,3 +111,11 @@
111
111
  End Sub
112
112
 
113
113
  ```
114
+
115
+ データ便にUPしておきます。ダウンロード期間は2日間です。
116
+
117
+ 必要であればダウンロードしてください。
118
+
119
+
120
+
121
+ https://www.datadeliver.net/receiver/file_box.do?fb=9a132233876d4b4db2693b816cca2ac0&rc=001cb174404346c687b9197920f7c4f7&lang=ja

4

こちらかがいいかも

2020/07/31 09:19

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -20,7 +20,13 @@
20
20
 
21
21
 
22
22
 
23
+ worksheet”年度別排出量”のデータは縦展開ではなく、横展開なので
24
+
25
+ A列の最大行を取得したい理由がわかりません・・。
26
+
27
+
28
+
23
- FINDの指定めちゃくちゃなので少し情報を整理したほうがよいと思います。
29
+ 結果、FINDの指定めちゃくちゃりますので少し情報を整理したほうがよいと思います。
24
30
 
25
31
 
26
32
 

3

こちらかがいいかも

2020/07/31 09:14

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -6,7 +6,9 @@
6
6
 
7
7
 
8
8
 
9
+ この部分は、A列の最終行ではなく、A1を起点として右に検索しているので
10
+
9
- この部分は、Lastrowは6列目(F)が最大ということを示しています。
11
+ Lastrowは6列目(F)が最大ということを示しています。
10
12
 
11
13
 
12
14
 
@@ -14,13 +16,21 @@
14
16
 
15
17
 
16
18
 
17
- の部分は、にむかっての検索が必要なのでA列の最大行をみたいう意味もおかしいと思います。
19
+ の部分は、A列の下にむかって処理するとしいます。
18
20
 
19
21
 
20
22
 
23
+ FINDの指定がめちゃくちゃなので少し情報を整理したほうがよいと思います。
21
24
 
22
25
 
26
+
27
+ データ数が少ないので、まずは、下記のようにFINDを使わない方法で
28
+
23
- FINDではないのすが、このようなコードを想定していのだと思います。
29
+ データの指定方法について理解をしたほうがFINDで処理ると思います。
30
+
31
+
32
+
33
+ 参考程度で結構です。。
24
34
 
25
35
 
26
36
 

2

こちらかがいいかも

2020/07/31 09:12

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -1,4 +1,4 @@
1
- __イタリックテキスト__VBAコードで、下記のようにされていますが
1
+ 下記のようにされていますが
2
2
 
3
3
 
4
4
 
@@ -6,17 +6,17 @@
6
6
 
7
7
 
8
8
 
9
- Lastrowは6列目(F)が最大ということを示しています。
9
+ この部分は、Lastrowは6列目(F)が最大ということを示しています。
10
10
 
11
11
 
12
12
 
13
- そこで次に下記のコードですが、Aの最大行に指定しています。
13
+ またSet myrange = ws1.Range("A1:a" & Lastrow) 'A1:Aセルの最終列を取得
14
-
15
- まず、ここが意味がわかりません・・。
16
14
 
17
15
 
18
16
 
19
- Set myrange = ws1.Range("A1:a" & Lastrow) 'A1:Aセルの最終列取得
17
+ の部分は、右にむかっての検索が必要なのでAの最大行みたいとう意味もおかしいと思います。
18
+
19
+
20
20
 
21
21
 
22
22
 

1

こちらかがいいかも

2020/07/31 09:08

投稿

mako1972
mako1972

スコア383

test CHANGED
@@ -1,4 +1,4 @@
1
- VBAコードで、下記のようにされていますが
1
+ __イタリックテキスト__VBAコードで、下記のようにされていますが
2
2
 
3
3
 
4
4
 
@@ -17,3 +17,81 @@
17
17
 
18
18
 
19
19
  Set myrange = ws1.Range("A1:a" & Lastrow) 'A1:Aセルの最終列を取得
20
+
21
+
22
+
23
+ FINDではないのですが、このようなコードを想定しているのだと思います。
24
+
25
+
26
+
27
+ ```VBA
28
+
29
+ Sub test()
30
+
31
+
32
+
33
+ Dim ws1 As Worksheet
34
+
35
+ Dim ws2 As Worksheet
36
+
37
+ Dim Lastcoumns As String
38
+
39
+ Dim i As Double
40
+
41
+ Dim key As String
42
+
43
+ Dim mymonth As String
44
+
45
+ Dim mystr As String
46
+
47
+
48
+
49
+ Set ws1 = Worksheets("年度別排出量")
50
+
51
+ Set ws2 = Worksheets("登録")
52
+
53
+
54
+
55
+ Lastcoumns = ws1.Range("a1").End(xlToRight).Column
56
+
57
+
58
+
59
+ key = ws2.Range("A1").Value
60
+
61
+ mystr = ws2.Range("H1").Value
62
+
63
+
64
+
65
+ For i = 1 To Lastcoumns
66
+
67
+
68
+
69
+ mymonth = ws1.Cells(1, i).Value
70
+
71
+
72
+
73
+ If mymonth = key Then
74
+
75
+
76
+
77
+ ws1.Cells(2, i).Value = mystr
78
+
79
+
80
+
81
+
82
+
83
+ End If
84
+
85
+ Next
86
+
87
+
88
+
89
+ Set ws1 = Nothing
90
+
91
+ Set ws2 = Nothing
92
+
93
+
94
+
95
+ End Sub
96
+
97
+ ```