質問編集履歴

1

途中で送信してしまったため、内容を更新します。

2021/09/23 17:23

投稿

same_2614869
same_2614869

スコア6

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,17 @@
20
20
 
21
21
 
22
22
 
23
+ 条件について
24
+
23
- 検索したい行の長さは可変で、今後も増えていく予定です(入力されている内容
25
+ 1.検索したい行の長さは可変で、今後も増えていく予定です(入力されている内容が日付のため)。
26
+
27
+ 2.計算したい列の長さも可変で、さらに、B列に特定の文字列が含まれているセルの値のみを合算します。
28
+
29
+  →ただし、最初にフィルターをかけるため、計算自体は目に見えているセルの値のみで行います。(こちらは恐らくSubtotal(109 ~)のような記述になると思っています)
30
+
31
+
32
+
33
+ 実力不足なうえ、一部を削っているためお見苦しいかと思いますが、下記に現在作成中のコードを記載しておりますので、何卒お力添えを頂けますよう、よろしくお願いいたします。
24
34
 
25
35
 
26
36
 
@@ -34,7 +44,7 @@
34
44
 
35
45
  ```
36
46
 
37
- エラーメッセージ
47
+
38
48
 
39
49
  ```
40
50
 
@@ -44,19 +54,61 @@
44
54
 
45
55
 
46
56
 
47
- ```ここに言語名を入力
48
-
49
- VBA
57
+ ```VBA
50
58
 
51
59
 
52
60
 
53
- Dim LastRow As Long
61
+ '対象シートを開いた状態にしておく
54
62
 
55
- Dim LastCol As Long
63
+ taisyou.Activate
56
64
 
57
- Dim year As Range
65
+ With ActiveSheet
58
66
 
59
67
 
68
+
69
+ If ActiveSheet.FilterMode = True Then
70
+
71
+ 'オートフィルタの絞り込みをクリア
72
+
73
+ ActiveSheet.ShowAllData
74
+
75
+ End If
76
+
77
+
78
+
79
+ '結合されたセルをクリアして値を埋める
80
+
81
+ For Each rng In ActiveSheet.UsedRange
82
+
83
+ If rng.MergeCells Then
84
+
85
+ With rng.MergeArea
86
+
87
+ .UnMerge
88
+
89
+ .Value = .Resize(1, 1).Value
90
+
91
+ End With
92
+
93
+ End If
94
+
95
+ Next
96
+
97
+ End With
98
+
99
+
100
+
101
+ With ActiveSheet
102
+
103
+ Rows(19).AutoFilter _
104
+
105
+ 2, _
106
+
107
+ "<=" & SettingSht.Range("条件").Value
108
+
109
+
110
+
111
+ '~~~~~ここから試行錯誤中~~~~~~
60
112
 
61
113
 
62
114
 
@@ -72,7 +124,7 @@
72
124
 
73
125
 
74
126
 
75
- '
127
+ 'この下に行から文字列を特定して、ヒットした列の値を合算するコードを記載する予定
76
128
 
77
129
  Set year = Setting.Range("day").Value
78
130
 
@@ -86,7 +138,7 @@
86
138
 
87
139
 
88
140
 
89
- ここに問題に対して試したことを記載してください。
141
+
90
142
 
91
143
 
92
144
 
@@ -94,4 +146,4 @@
94
146
 
95
147
 
96
148
 
97
- ここにより詳細な情報を記載してください。
149
+ Excelバージョン:2016