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

質問編集履歴

2

追記いたしました。

2021/01/12 06:29

投稿

marino_2021
marino_2021

スコア1

title CHANGED
File without changes
body CHANGED
@@ -218,4 +218,5 @@
218
218
  ### 補足情報(FW/ツールのバージョンなど)
219
219
 
220
220
  いろんなところを参考にVBA書いてみたのですがうまくいきません。
221
+ またデータが多くなるとこのコードではすごく重くなります。
221
222
  ご教授いただきたくよろしくお願いいたします。

1

コードが反映しなかったので追記いたしました。

2021/01/12 06:29

投稿

marino_2021
marino_2021

スコア1

title CHANGED
File without changes
body CHANGED
@@ -31,7 +31,184 @@
31
31
  ### 該当のソースコード
32
32
 
33
33
  ```ここに言語名を入力
34
+ Sub リスト取得()
35
+ Dim i As Long
36
+ Dim j As Long
37
+ Dim lastrow As Long
38
+ lastrow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
39
+ Worksheets("Sheet2").Cells.Clear
40
+ Worksheets("Sheet2").Cells(1, 1) = "個人番号"
41
+ Worksheets("Sheet2").Cells(1, 2) = "会員番号"
42
+ Worksheets("Sheet2").Cells(1, 3) = "氏名"
43
+ Worksheets("Sheet2").Cells(1, 4) = "性別"
44
+ Worksheets("Sheet2").Cells(1, 5) = "年齢"
45
+ Worksheets("Sheet2").Cells(1, 6) = "生年月日"
46
+ Worksheets("Sheet2").Cells(1, 7) = "住所"
47
+ Worksheets("Sheet2").Cells(1, 8) = "会員取得年月日"
48
+ Worksheets("Sheet2").Cells(1, 9) = "会員喪失年月日"
49
+ Worksheets("Sheet2").Cells(1, 10) = "身長"
50
+ Worksheets("Sheet2").Cells(1, 11) = "体重"
51
+ Worksheets("Sheet2").Cells(1, 12) = "プラン相談"
52
+ Worksheets("Sheet2").Cells(1, 13) = "食事相談"
53
+ Worksheets("Sheet2").Cells(1, 14) = "オプション1利用料"
54
+ Worksheets("Sheet2").Cells(1, 15) = "オプション2利用料"
55
+
56
+ For i = 4 To lastrow
57
+ Worksheets("Sheet2").Cells(i - 2, 1) = Worksheets("Sheet1").Cells(i, 1)
58
+ Worksheets("Sheet2").Cells(i - 2, 2) = Worksheets("Sheet1").Cells(i, 2)
59
+ Worksheets("Sheet2").Cells(i - 2, 3) = Worksheets("Sheet1").Cells(i, 3)
60
+ Worksheets("Sheet2").Cells(i - 2, 4) = Worksheets("Sheet1").Cells(i, 4)
61
+ Worksheets("Sheet2").Cells(i - 2, 5) = Worksheets("Sheet1").Cells(i, 5)
62
+ Worksheets("Sheet2").Cells(i - 2, 6) = Worksheets("Sheet1").Cells(i, 6)
63
+ Worksheets("Sheet2").Cells(i - 2, 7) = Worksheets("Sheet1").Cells(i, 7)
64
+ Worksheets("Sheet2").Cells(i - 2, 8) = Worksheets("Sheet1").Cells(i, 8)
65
+ Worksheets("Sheet2").Cells(i - 2, 9) = Worksheets("Sheet1").Cells(i, 9)
66
+ Worksheets("Sheet2").Cells(i - 2, 10) = Worksheets("Sheet1").Cells(i, 10)
67
+ Worksheets("Sheet2").Cells(i - 2, 11) = Worksheets("Sheet1").Cells(i, 11)
68
+ Worksheets("Sheet2").Cells(i - 2, 12) = Worksheets("Sheet1").Cells(i, 12)
69
+ Worksheets("Sheet2").Cells(i - 2, 13) = Worksheets("Sheet1").Cells(i, 13)
70
+ Worksheets("Sheet2").Cells(i - 2, 14) = Worksheets("Sheet1").Cells(i, 14)
71
+ Worksheets("Sheet2").Cells(i - 2, 15) = Worksheets("Sheet1").Cells(i, 15)
72
+
73
+ Next
74
+ Worksheets("Sheet2").Activate
75
+ Range(Cells(2, 1), Cells(i - 3, 16)).Select
76
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear
77
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 1), SortOn _
78
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
79
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 2), SortOn _
80
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
81
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 3), SortOn _
82
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
83
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 4), SortOn _
84
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
85
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 5), SortOn _
86
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
87
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 6), SortOn _
88
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
89
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 7), SortOn _
90
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
91
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 8), SortOn _
92
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
93
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 9), SortOn _
94
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
95
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 10), SortOn _
96
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
97
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 11), SortOn _
98
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
99
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 12), SortOn _
100
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
101
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 13), SortOn _
102
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
103
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 14), SortOn _
104
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
105
+ ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Cells(2, 15), SortOn _
106
+ :=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
107
+
108
+ With ActiveWorkbook.Worksheets("Sheet2").Sort
109
+ '並べ替える範囲を指定
110
+ .SetRange Range(Cells(2, 1), Cells(i - 3, 16))
111
+ '1行目がタイトル行かどうか
112
+ .Header = xlNo
113
+ '大文字と小文字を区別するかどうか
114
+ .MatchCase = False
115
+ '並べ替えの方向(行/列)を指定
116
+ .Orientation = xlTopToBottom
117
+ 'ふりがなを使うかどうか
118
+ .SortMethod = xlPinYin
119
+ '並べ替えを実行
34
- ソースコード
120
+ .Apply
121
+ End With
122
+ Call 最新の取り出し
123
+
124
+ End Sub
125
+
126
+ Sub 最新の取り出し()
127
+ Dim i As Long
128
+ Dim j As Long
129
+ Dim lastrow As Long
130
+ Dim kei As Long
131
+ Dim kei1 As Double
132
+ Dim kei2 As Double
133
+ Dim maru1 As String
134
+ Dim maru2 As String
135
+
136
+ lastrow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
137
+ For i = 2 To lastrow
138
+ Worksheets("Sheet2").Cells(i, 16) = 1
139
+ Next
140
+ Worksheets("Sheet3").Cells(1, 1) = "個人番号"
141
+ Worksheets("Sheet3").Cells(1, 2) = "会員番号"
142
+ Worksheets("Sheet3").Cells(1, 3) = "氏名"
143
+ Worksheets("Sheet3").Cells(1, 4) = "性別"
144
+ Worksheets("Sheet3").Cells(1, 5) = "年齢"
145
+ Worksheets("Sheet3").Cells(1, 6) = "生年月日"
146
+ Worksheets("Sheet3").Cells(1, 7) = "住所"
147
+ Worksheets("Sheet3").Cells(1, 8) = "会員取得年月日"
148
+ Worksheets("Sheet3").Cells(1, 9) = "会員喪失年月日"
149
+ Worksheets("Sheet3").Cells(1, 10) = "身長"
150
+ Worksheets("Sheet3").Cells(1, 11) = "体重"
151
+ Worksheets("Sheet3").Cells(1, 12) = "プラン相談"
152
+ Worksheets("Sheet3").Cells(1, 13) = "食事相談"
153
+ Worksheets("Sheet3").Cells(1, 14) = "オプション1利用料"
154
+ Worksheets("Sheet3").Cells(1, 15) = "オプション2利用料"
155
+
156
+ Worksheets("Sheet3").Cells(1, 16) = "件数"
157
+
158
+ j = 2
159
+ kei = 0
160
+ maru1 = ""
161
+ maru2 = ""
162
+ kei1 = 0
163
+ kei2 = 0
164
+
165
+
166
+ For i = 2 To lastrow
167
+ kei = kei + Worksheets("Sheet2").Cells(i, 16)
168
+ kei1 = kei1 + Worksheets("Sheet2").Cells(i, 14)
169
+ kei2 = kei2 + Worksheets("Sheet2").Cells(i, 15)
170
+
171
+ If Worksheets("Sheet2").Cells(i, 12) = "○" Then
172
+ maru1 = "○"
173
+ End If
174
+ If Worksheets("Sheet2").Cells(i, 13) = "○" Then
175
+ maru2 = "○"
176
+ End If
177
+
178
+
179
+ If Worksheets("Sheet2").Cells(i, 1) <> Worksheets("Sheet2").Cells(i + 1, 1) Then
180
+ Worksheets("Sheet3").Cells(j, 1) = Worksheets("Sheet2").Cells(i, 1)
181
+ Worksheets("Sheet3").Cells(j, 2) = Worksheets("Sheet2").Cells(i, 2)
182
+ Worksheets("Sheet3").Cells(j, 3) = Worksheets("Sheet2").Cells(i, 3)
183
+ Worksheets("Sheet3").Cells(j, 4) = Worksheets("Sheet2").Cells(i, 4)
184
+ Worksheets("Sheet3").Cells(j, 5) = Worksheets("Sheet2").Cells(i, 5)
185
+ Worksheets("Sheet3").Cells(j, 6) = Worksheets("Sheet2").Cells(i, 6)
186
+ Worksheets("Sheet3").Cells(j, 7) = Worksheets("Sheet2").Cells(i, 7)
187
+ Worksheets("Sheet3").Cells(j, 8) = Worksheets("Sheet2").Cells(i, 8)
188
+ Worksheets("Sheet3").Cells(j, 9) = Worksheets("Sheet2").Cells(i, 9)
189
+ Worksheets("Sheet3").Cells(j, 10) = Worksheets("Sheet2").Cells(i, 10)
190
+ Worksheets("Sheet3").Cells(j, 11) = Worksheets("Sheet2").Cells(i, 11)
191
+ Worksheets("Sheet3").Cells(j, 12) = maru1
192
+ Worksheets("Sheet3").Cells(j, 13) = maru2
193
+ Worksheets("Sheet3").Cells(j, 14) = kei1
194
+ Worksheets("Sheet3").Cells(j, 15) = kei2
195
+
196
+ Worksheets("Sheet3").Cells(j, 16) = kei
197
+ j = j + 1
198
+ kei = 0
199
+ kei1 = 0
200
+ kei2 = 0
201
+ maru1 = ""
202
+ maru2 = ""
203
+
204
+ End If
205
+ Next
206
+
207
+
208
+ Worksheets("Sheet3").Select
209
+
210
+ End Sub
211
+
35
212
  ```
36
213
 
37
214
  ### 試したこと
@@ -40,4 +217,5 @@
40
217
 
41
218
  ### 補足情報(FW/ツールのバージョンなど)
42
219
 
220
+ いろんなところを参考にVBA書いてみたのですがうまくいきません。
43
- ここにり詳細な情報を記載ださい。
221
+ ご教授いただきたくしくお願いたします