返回列表 上一主題 發帖

[發問] 計算總數並重新排序

[發問] 計算總數並重新排序

計算總數並重新排序

鑒於我上次講的不夠清楚,並且發了誤導方向的圖片,所以我重發了一個帖子
如有得罪各位還請見諒。

這東西看是要用一般公式或VBA都可以
一開始要先計算總列數
再來給予重新計算參數,此數可能是9、12、15
以15為基準的話,且總數為45的狀態下的話
先除以15並重新排列
將原本2的位置放到16,3放到31
因為45/15=3
所以4是放到2的位置,5放到17,6在32
7在3
出來的結果如下
  1. 1
  2. 4
  3. 7
  4. 10
  5. 13
  6. 16
  7. 19
  8. 22
  9. 25
  10. 28
  11. 31
  12. 34
  13. 37
  14. 40
  15. 43
  16. 2
  17. 5
  18. 8
  19. 11
  20. 14
  21. 17
  22. 20
  23. 23
  24. 26
  25. 29
  26. 32
  27. 35
  28. 38
  29. 41
  30. 44
  31. 3
  32. 6
  33. 9
  34. 12
  35. 15
  36. 18
  37. 21
  38. 24
  39. 27
  40. 30
  41. 33
  42. 36
  43. 39
  44. 42
  45. 45
複製代碼

數字為60則是長這樣
  1. 1
  2. 5
  3. 9
  4. 13
  5. 17
  6. 21
  7. 25
  8. 29
  9. 33
  10. 37
  11. 41
  12. 45
  13. 49
  14. 53
  15. 57
  16. 2
  17. 6
  18. 10
  19. 14
  20. 18
  21. 22
  22. 26
  23. 30
  24. 34
  25. 38
  26. 42
  27. 46
  28. 50
  29. 54
  30. 58
  31. 3
  32. 7
  33. 11
  34. 15
  35. 19
  36. 23
  37. 27
  38. 31
  39. 35
  40. 39
  41. 43
  42. 47
  43. 51
  44. 55
  45. 59
  46. 4
  47. 8
  48. 12
  49. 16
  50. 20
  51. 24
  52. 28
  53. 32
  54. 36
  55. 40
  56. 44
  57. 48
  58. 52
  59. 56
  60. 60
複製代碼

90的狀態
[code]
1
7
13
19
25
31
37
43
49
55
61
67
73
79
85
2
8
14
20
26
32
38
44
50
56
62
68
74
80
86
3
9
15
21
27
33
39
45
51
57
63
69
75
81
87
4
10
16
22
28
34
40
46
52
58
64
70
76
82
88
5
11
17
23
29
35
41
47
53
59
65
71
77
83
89
6
12
18
24
30
36
42
48
54
60
66
72
78
84
90
[\code]


總數為255的狀態
[ocde]
1
18
35
52
69
86
103
120
137
154
171
188
205
222
239
2
19
36
53
70
87
104
121
138
155
172
189
206
223
240
3
20
37
54
71
88
105
122
139
156
173
190
207
224
241
4
21
38
55
72
89
106
123
140
157
174
191
208
225
242
5
22
39
56
73
90
107
124
141
158
175
192
209
226
243
6
23
40
57
74
91
108
125
142
159
176
193
210
227
244
7
24
41
58
75
92
109
126
143
160
177
194
211
228
245
8
25
42
59
76
93
110
127
144
161
178
195
212
229
246
9
26
43
60
77
94
111
128
145
162
179
196
213
230
247
10
27
44
61
78
95
112
129
146
163
180
197
214
231
248
11
28
45
62
79
96
113
130
147
164
181
198
215
232
249
12
29
46
63
80
97
114
131
148
165
182
199
216
233
250
13
30
47
64
81
98
115
132
149
166
183
200
217
234
251
14
31
48
65
82
99
116
133
150
167
184
201
218
235
252
15
32
49
66
83
100
117
134
151
168
185
202
219
236
253
16
33
50
67
84
101
118
135
152
169
186
203
220
237
254
17
34
51
68
85
102
119
136
153
170
187
204
221
238
255
[\code]

在此先感謝於上一帖中協助的 hcm19522 與 a5007185
若沒有a5007185提供的vba腳本,這帖裡的重新排序數自我應該要算很久...
感謝各位 m(_ _)m

hcm19522 發表於 2018-7-29 10:37



    你好,參照你的部落格提供的公式結果出不來
我忘了先聲明我的版本為2003,是否因為這樣公式失效?



不過依照你所給的公式會產生循環參照
因為在原圖內
[attachimg]29105[/attachimg


原圖D2是總數,D6是基數
但你的第二句是
D2 下拉=IF(INT(F$2/F$6)+D1>F$2,INT(ROW(A2)/F$6)+1,INT(F$2/F$6)+D1)
這裡應該已經相衝突了

我換到另一個活頁簿中也不太對,還麻煩你看一下

出來的只有F的部分沒有報錯

然後,我真的丟進系統中發現我錯了
需要的公式好像不是這樣
450的狀態下我土法煉鋼的填入後應該要這樣
我的計算方式是
450/15=30
所以A1=1的狀況下
A2=1+15
A3=A2+15
一路到A29=A28+15
然後A30內放入2
A31=A30+15
A32=A31+15
詳情請看附件內的正確活頁簿

下面是450格我填完的結果
  1. 1
  2. 16
  3. 31
  4. 46
  5. 61
  6. 76
  7. 91
  8. 106
  9. 121
  10. 136
  11. 151
  12. 166
  13. 181
  14. 196
  15. 211
  16. 226
  17. 241
  18. 256
  19. 271
  20. 286
  21. 301
  22. 316
  23. 331
  24. 346
  25. 361
  26. 376
  27. 391
  28. 406
  29. 421
  30. 2
  31. 17
  32. 32
  33. 47
  34. 62
  35. 77
  36. 92
  37. 107
  38. 122
  39. 137
  40. 152
  41. 167
  42. 182
  43. 197
  44. 212
  45. 227
  46. 242
  47. 257
  48. 272
  49. 287
  50. 302
  51. 317
  52. 332
  53. 347
  54. 362
  55. 377
  56. 392
  57. 407
  58. 422
  59. 437
  60. 452
  61. 3
  62. 18
  63. 33
  64. 48
  65. 63
  66. 78
  67. 93
  68. 108
  69. 123
  70. 138
  71. 153
  72. 168
  73. 183
  74. 198
  75. 213
  76. 228
  77. 243
  78. 258
  79. 273
  80. 288
  81. 303
  82. 318
  83. 333
  84. 348
  85. 363
  86. 378
  87. 393
  88. 408
  89. 423
  90. 438
  91. 4
  92. 19
  93. 34
  94. 49
  95. 64
  96. 79
  97. 94
  98. 109
  99. 124
  100. 139
  101. 154
  102. 169
  103. 184
  104. 199
  105. 214
  106. 229
  107. 244
  108. 259
  109. 274
  110. 289
  111. 304
  112. 319
  113. 334
  114. 349
  115. 364
  116. 379
  117. 394
  118. 409
  119. 424
  120. 439
  121. 5
  122. 20
  123. 35
  124. 50
  125. 65
  126. 80
  127. 95
  128. 110
  129. 125
  130. 140
  131. 155
  132. 170
  133. 185
  134. 200
  135. 215
  136. 230
  137. 245
  138. 260
  139. 275
  140. 290
  141. 305
  142. 320
  143. 335
  144. 350
  145. 365
  146. 380
  147. 395
  148. 410
  149. 425
  150. 440
  151. 6
  152. 21
  153. 36
  154. 51
  155. 66
  156. 81
  157. 96
  158. 111
  159. 126
  160. 141
  161. 156
  162. 171
  163. 186
  164. 201
  165. 216
  166. 231
  167. 246
  168. 261
  169. 276
  170. 291
  171. 306
  172. 321
  173. 336
  174. 351
  175. 366
  176. 381
  177. 396
  178. 411
  179. 426
  180. 441
  181. 7
  182. 22
  183. 37
  184. 52
  185. 67
  186. 82
  187. 97
  188. 112
  189. 127
  190. 142
  191. 157
  192. 172
  193. 187
  194. 202
  195. 217
  196. 232
  197. 247
  198. 262
  199. 277
  200. 292
  201. 307
  202. 322
  203. 337
  204. 352
  205. 367
  206. 382
  207. 397
  208. 412
  209. 427
  210. 442
  211. 8
  212. 23
  213. 38
  214. 53
  215. 68
  216. 83
  217. 98
  218. 113
  219. 128
  220. 143
  221. 158
  222. 173
  223. 188
  224. 203
  225. 218
  226. 233
  227. 248
  228. 263
  229. 278
  230. 293
  231. 308
  232. 323
  233. 338
  234. 353
  235. 368
  236. 383
  237. 398
  238. 413
  239. 428
  240. 443
  241. 9
  242. 24
  243. 39
  244. 54
  245. 69
  246. 84
  247. 99
  248. 114
  249. 129
  250. 144
  251. 159
  252. 174
  253. 189
  254. 204
  255. 219
  256. 234
  257. 249
  258. 264
  259. 279
  260. 294
  261. 309
  262. 324
  263. 339
  264. 354
  265. 369
  266. 384
  267. 399
  268. 414
  269. 429
  270. 444
  271. 10
  272. 25
  273. 40
  274. 55
  275. 70
  276. 85
  277. 100
  278. 115
  279. 130
  280. 145
  281. 160
  282. 175
  283. 190
  284. 205
  285. 220
  286. 235
  287. 250
  288. 265
  289. 280
  290. 295
  291. 310
  292. 325
  293. 340
  294. 355
  295. 370
  296. 385
  297. 400
  298. 415
  299. 430
  300. 445
  301. 11
  302. 26
  303. 41
  304. 56
  305. 71
  306. 86
  307. 101
  308. 116
  309. 131
  310. 146
  311. 161
  312. 176
  313. 191
  314. 206
  315. 221
  316. 236
  317. 251
  318. 266
  319. 281
  320. 296
  321. 311
  322. 326
  323. 341
  324. 356
  325. 371
  326. 386
  327. 401
  328. 416
  329. 431
  330. 446
  331. 12
  332. 27
  333. 42
  334. 57
  335. 72
  336. 87
  337. 102
  338. 117
  339. 132
  340. 147
  341. 162
  342. 177
  343. 192
  344. 207
  345. 222
  346. 237
  347. 252
  348. 267
  349. 282
  350. 297
  351. 312
  352. 327
  353. 342
  354. 357
  355. 372
  356. 387
  357. 402
  358. 417
  359. 432
  360. 447
  361. 13
  362. 28
  363. 43
  364. 58
  365. 73
  366. 88
  367. 103
  368. 118
  369. 133
  370. 148
  371. 163
  372. 178
  373. 193
  374. 208
  375. 223
  376. 238
  377. 253
  378. 268
  379. 283
  380. 298
  381. 313
  382. 328
  383. 343
  384. 358
  385. 373
  386. 388
  387. 403
  388. 418
  389. 433
  390. 448
  391. 14
  392. 29
  393. 44
  394. 59
  395. 74
  396. 89
  397. 104
  398. 119
  399. 134
  400. 149
  401. 164
  402. 179
  403. 194
  404. 209
  405. 224
  406. 239
  407. 254
  408. 269
  409. 284
  410. 299
  411. 314
  412. 329
  413. 344
  414. 359
  415. 374
  416. 389
  417. 404
  418. 419
  419. 434
  420. 449
  421. 15
  422. 30
  423. 45
  424. 60
  425. 75
  426. 90
  427. 105
  428. 120
  429. 135
  430. 150
  431. 165
  432. 180
  433. 195
  434. 210
  435. 225
  436. 240
  437. 255
  438. 270
  439. 285
  440. 300
  441. 315
  442. 330
  443. 345
  444. 360
  445. 375
  446. 390
  447. 405
  448. 420
  449. 435
  450. 450
複製代碼
至於為甚麼A30是2我也不是很清楚
然後雖然出來結果應該大致上是對了,但還是有跳號發生
不過應該是因為實際應該是415,結果我用450去硬套的結果

然後可以的話麻煩下拉的起始點用1,這樣我貼過去比較方便
m(_ _)m

循環1.png (46.22 KB)

循環1.png

TOP

回復  wei9133

哈,
如果按照你現在僅列出單行的方式,
你也可以參考看看這個~
a5007185 發表於 2018-7-29 11:34


你好,vba的部分因為公司用的是2003,所以開啟會有問題


直接用Alt+F11去啟動倒是可以的
p.s.我一開始都傻傻去改總數,結果出來的值永遠是255...
我要的是我填總數(變數)跟參數(參數一般都是15),然後他除倍數出來計算(直接無條件進位為參數整除的值)
ex.428/15=28.53就用29下去算
15*29=435 用435下去排序
(理論上429~435都是空值,而且護集中在第15落那個集落中)

不過我今天因為試不出來,所以用土法煉鋼的方式弄了排序
  1. 1
  2. 16
  3. 31
  4. 46
  5. 61
  6. 76
  7. 91
  8. 106
  9. 121
  10. 136
  11. 151
  12. 166
  13. 181
  14. 196
  15. 211
  16. 226
  17. 241
  18. 256
  19. 271
  20. 286
  21. 301
  22. 316
  23. 331
  24. 346
  25. 361
  26. 376
  27. 391
  28. 406
  29. 421
  30. 2
  31. 17
  32. 32
  33. 47
  34. 62
  35. 77
  36. 92
  37. 107
  38. 122
  39. 137
  40. 152
  41. 167
  42. 182
  43. 197
  44. 212
  45. 227
  46. 242
  47. 257
  48. 272
  49. 287
  50. 302
  51. 317
  52. 332
  53. 347
  54. 362
  55. 377
  56. 392
  57. 407
  58. 422
  59. 437
  60. 452
  61. 3
  62. 18
  63. 33
  64. 48
  65. 63
  66. 78
  67. 93
  68. 108
  69. 123
  70. 138
  71. 153
  72. 168
  73. 183
  74. 198
  75. 213
  76. 228
  77. 243
  78. 258
  79. 273
  80. 288
  81. 303
  82. 318
  83. 333
  84. 348
  85. 363
  86. 378
  87. 393
  88. 408
  89. 423
  90. 438
  91. 4
  92. 19
  93. 34
  94. 49
  95. 64
  96. 79
  97. 94
  98. 109
  99. 124
  100. 139
  101. 154
  102. 169
  103. 184
  104. 199
  105. 214
  106. 229
  107. 244
  108. 259
  109. 274
  110. 289
  111. 304
  112. 319
  113. 334
  114. 349
  115. 364
  116. 379
  117. 394
  118. 409
  119. 424
  120. 439
  121. 5
  122. 20
  123. 35
  124. 50
  125. 65
  126. 80
  127. 95
  128. 110
  129. 125
  130. 140
  131. 155
  132. 170
  133. 185
  134. 200
  135. 215
  136. 230
  137. 245
  138. 260
  139. 275
  140. 290
  141. 305
  142. 320
  143. 335
  144. 350
  145. 365
  146. 380
  147. 395
  148. 410
  149. 425
  150. 440
  151. 6
  152. 21
  153. 36
  154. 51
  155. 66
  156. 81
  157. 96
  158. 111
  159. 126
  160. 141
  161. 156
  162. 171
  163. 186
  164. 201
  165. 216
  166. 231
  167. 246
  168. 261
  169. 276
  170. 291
  171. 306
  172. 321
  173. 336
  174. 351
  175. 366
  176. 381
  177. 396
  178. 411
  179. 426
  180. 441
  181. 7
  182. 22
  183. 37
  184. 52
  185. 67
  186. 82
  187. 97
  188. 112
  189. 127
  190. 142
  191. 157
  192. 172
  193. 187
  194. 202
  195. 217
  196. 232
  197. 247
  198. 262
  199. 277
  200. 292
  201. 307
  202. 322
  203. 337
  204. 352
  205. 367
  206. 382
  207. 397
  208. 412
  209. 427
  210. 442
  211. 8
  212. 23
  213. 38
  214. 53
  215. 68
  216. 83
  217. 98
  218. 113
  219. 128
  220. 143
  221. 158
  222. 173
  223. 188
  224. 203
  225. 218
  226. 233
  227. 248
  228. 263
  229. 278
  230. 293
  231. 308
  232. 323
  233. 338
  234. 353
  235. 368
  236. 383
  237. 398
  238. 413
  239. 428
  240. 443
  241. 9
  242. 24
  243. 39
  244. 54
  245. 69
  246. 84
  247. 99
  248. 114
  249. 129
  250. 144
  251. 159
  252. 174
  253. 189
  254. 204
  255. 219
  256. 234
  257. 249
  258. 264
  259. 279
  260. 294
  261. 309
  262. 324
  263. 339
  264. 354
  265. 369
  266. 384
  267. 399
  268. 414
  269. 429
  270. 444
  271. 10
  272. 25
  273. 40
  274. 55
  275. 70
  276. 85
  277. 100
  278. 115
  279. 130
  280. 145
  281. 160
  282. 175
  283. 190
  284. 205
  285. 220
  286. 235
  287. 250
  288. 265
  289. 280
  290. 295
  291. 310
  292. 325
  293. 340
  294. 355
  295. 370
  296. 385
  297. 400
  298. 415
  299. 430
  300. 445
  301. 11
  302. 26
  303. 41
  304. 56
  305. 71
  306. 86
  307. 101
  308. 116
  309. 131
  310. 146
  311. 161
  312. 176
  313. 191
  314. 206
  315. 221
  316. 236
  317. 251
  318. 266
  319. 281
  320. 296
  321. 311
  322. 326
  323. 341
  324. 356
  325. 371
  326. 386
  327. 401
  328. 416
  329. 431
  330. 446
  331. 12
  332. 27
  333. 42
  334. 57
  335. 72
  336. 87
  337. 102
  338. 117
  339. 132
  340. 147
  341. 162
  342. 177
  343. 192
  344. 207
  345. 222
  346. 237
  347. 252
  348. 267
  349. 282
  350. 297
  351. 312
  352. 327
  353. 342
  354. 357
  355. 372
  356. 387
  357. 402
  358. 417
  359. 432
  360. 447
  361. 13
  362. 28
  363. 43
  364. 58
  365. 73
  366. 88
  367. 103
  368. 118
  369. 133
  370. 148
  371. 163
  372. 178
  373. 193
  374. 208
  375. 223
  376. 238
  377. 253
  378. 268
  379. 283
  380. 298
  381. 313
  382. 328
  383. 343
  384. 358
  385. 373
  386. 388
  387. 403
  388. 418
  389. 433
  390. 448
  391. 14
  392. 29
  393. 44
  394. 59
  395. 74
  396. 89
  397. 104
  398. 119
  399. 134
  400. 149
  401. 164
  402. 179
  403. 194
  404. 209
  405. 224
  406. 239
  407. 254
  408. 269
  409. 284
  410. 299
  411. 314
  412. 329
  413. 344
  414. 359
  415. 374
  416. 389
  417. 404
  418. 419
  419. 434
  420. 449
  421. 15
  422. 30
  423. 45
  424. 60
  425. 75
  426. 90
  427. 105
  428. 120
  429. 135
  430. 150
  431. 165
  432. 180
  433. 195
  434. 210
  435. 225
  436. 240
  437. 255
  438. 270
  439. 285
  440. 300
  441. 315
  442. 330
  443. 345
  444. 360
  445. 375
  446. 390
  447. 405
  448. 420
  449. 435
  450. 450
複製代碼
出來的結果跟VBA算出來的不一樣

450的狀態下我土法煉鋼的填入後應該要這樣
我的計算方式是
450/15=30
所以A1=1的狀況下
A2=1+15
A3=A2+15
一路到A29=A28+15
然後A30內放入2
A31=A30+15
A32=A31+15
詳情請看附件內的正確活頁簿

至於為甚麼A30是2我也不是很清楚
然後雖然出來結果應該大致上是對了,但還是有跳號發生
不過應該是因為實際應該是415,結果我用450去硬套的結果

結果到底哪邊才是對的我也搞不清楚,必須用相符的數字丟入系統印出來我才知道...
上面那個415格應該要用420格去排序再丟入系統,這樣印出來的我才能確認
我用450去套的有跳位置的有空格,我也不知道到底對不對,不過整體順序是大致對的

然後可以的話麻煩算出的起始點用第一格,這樣我貼過去比較方便 (整列複製,插入貼上)
m(_ _)m

計算總數並重新排序 (4775).rar (10.52 KB)

TOP

回復 6# wei9133

我想我一開始應該給錯條件了...
經過驗正,我今天土法煉鋼的東西才比較接近的樣子






正確排序結果.rar (10.56 KB)

TOP

回復  wei9133


抱歉,
我自己實際調整過後,
有了解你的問題了。

我調整好兩個版本給你參考,
...
a5007185 發表於 2018-8-1 23:44


你好,感謝你的回覆
這兩個版本我找時間試看看,目前看起來應該是正確的
不過要實際做測試印出來才知道是否正確
在次感謝你的幫助

TOP

回復  wei9133


抱歉,
我自己實際調整過後,
有了解你的問題了。

我調整好兩個版本給你參考,
...
a5007185 發表於 2018-8-1 23:44


你好,昨天測試了一下應該是無誤了
非常感謝你
實際上在撕的時候發現還有可以改進的地方
(這個是我一開始沒想到的部分,並不是你提供的東西有誤)
鑒於你大概懂我的需求是甚麼了,所以我簡單的用圖表示一下
(我連上面你解決的原理都不懂,所以也可能說不太清楚)
你先參考一下我的附件


麻煩一樣要直的結果,可能的話幫我把算出來的陣列放在後方
目前的東西一定是3*3 3*4 3*5 如果畫陣列麻煩就不用畫了
有直的結果就萬分感激了

縱向排序.rar (3.56 KB)
至於實際成果我要丟進系統印出來才知道對不對
m(_ _)m

TOP

回復  wei9133

弄好囉
a5007185 發表於 2018-8-5 00:13



    感謝你,目前看右方陣列應該是我要的東西了
   待找天有空的時候測試,萬分感謝 m(_ _)m

TOP

你好,我拿舊的正確版本比對發現好像東西不對...

先前正確的vba版本(橫向)
  1. 1
  2. 16
  3. 31
  4. 46
  5. 61
  6. 76
  7. 91
  8. 106
  9. 121
  10. 2
  11. 17
  12. 32
  13. 47
  14. 62
  15. 77
  16. 92
  17. 107
  18. 122
  19. 3
  20. 18
  21. 33
  22. 48
  23. 63
  24. 78
  25. 93
  26. 108
  27. 123
  28. 4
  29. 19
  30. 34
  31. 49
  32. 64
  33. 79
  34. 94
  35. 109
  36. 124
  37. 5
  38. 20
  39. 35
  40. 50
  41. 65
  42. 80
  43. 95
  44. 110
  45. 125
  46. 6
  47. 21
  48. 36
  49. 51
  50. 66
  51. 81
  52. 96
  53. 111

  54. 7
  55. 22
  56. 37
  57. 52
  58. 67
  59. 82
  60. 97
  61. 112

  62. 8
  63. 23
  64. 38
  65. 53
  66. 68
  67. 83
  68. 98
  69. 113

  70. 9
  71. 24
  72. 39
  73. 54
  74. 69
  75. 84
  76. 99
  77. 114

  78. 10
  79. 25
  80. 40
  81. 55
  82. 70
  83. 85
  84. 100
  85. 115

  86. 11
  87. 26
  88. 41
  89. 56
  90. 71
  91. 86
  92. 101
  93. 116

  94. 12
  95. 27
  96. 42
  97. 57
  98. 72
  99. 87
  100. 102
  101. 117

  102. 13
  103. 28
  104. 43
  105. 58
  106. 73
  107. 88
  108. 103
  109. 118

  110. 14
  111. 29
  112. 44
  113. 59
  114. 74
  115. 89
  116. 104
  117. 119

  118. 15
  119. 30
  120. 45
  121. 60
  122. 75
  123. 90
  124. 105
  125. 120
複製代碼
你這次所提供的vab橫向版本
  1. 1
  2. 28
  3. 55
  4. 82
  5. 109
  6. 2
  7. 29
  8. 56
  9. 83
  10. 110
  11. 3
  12. 30
  13. 57
  14. 84
  15. 111
  16. 4
  17. 31
  18. 58
  19. 85
  20. 112
  21. 5
  22. 32
  23. 59
  24. 86
  25. 113
  26. 6
  27. 33
  28. 60
  29. 87
  30. 114
  31. 7
  32. 34
  33. 61
  34. 88
  35. 115
  36. 8
  37. 35
  38. 62
  39. 89
  40. 116
  41. 9
  42. 36
  43. 63
  44. 90
  45. 117
  46. 10
  47. 37
  48. 64
  49. 91
  50. 118
  51. 11
  52. 38
  53. 65
  54. 92
  55. 119
  56. 12
  57. 39
  58. 66
  59. 93
  60. 120
  61. 13
  62. 40
  63. 67
  64. 94
  65. 121
  66. 14
  67. 41
  68. 68
  69. 95
  70. 122
  71. 15
  72. 42
  73. 69
  74. 96
  75. 123
  76. 16
  77. 43
  78. 70
  79. 97
  80. 124
  81. 17
  82. 44
  83. 71
  84. 98
  85. 125
  86. 18
  87. 45
  88. 72
  89. 99

  90. 19
  91. 46
  92. 73
  93. 100

  94. 20
  95. 47
  96. 74
  97. 101

  98. 21
  99. 48
  100. 75
  101. 102

  102. 22
  103. 49
  104. 76
  105. 103

  106. 23
  107. 50
  108. 77
  109. 104

  110. 24
  111. 51
  112. 78
  113. 105

  114. 25
  115. 52
  116. 79
  117. 106

  118. 26
  119. 53
  120. 80
  121. 107

  122. 27
  123. 54
  124. 81
  125. 108
複製代碼
我再解釋一遍整體的需求 (以橫向為例)
原本的系統為數據若干行,依照1~N依次丟入
長下圖這樣
  1. 01  |  A1
  2. 16  |  A2
  3. 02  |  A3
  4. 17  |  A4
  5. 03  |  A5
  6. 18  |  B1
  7. 04  |  B2
  8. 19  |  B3
  9. 05  |  B4
  10. 20  |  B5
  11. 06  |  B6
  12. 21  |  B7
  13. 07  |  B8
  14. 22  |  B9
  15. 08  |  B10
  16. 23  |  B11
  17. 09  |  B12
  18. 24  |  B13
  19. 10  |  B14
  20. 25  |  B15
  21. 11  |  C1
  22. 26  |  C2
  23. 12  |  C3
  24. 27  |  C4
  25. 13  |  C5
  26. 28  |  C6
  27. 14  |  C7
  28. 29  |  C8
  29. 15  |  C9
  30. 30  |  C10
複製代碼



附件為你原本提供的vba版本
排序vba版.rar (14.88 KB)
原本在2順位的要擺到16去才會在第二張的第一格
所以這次的版本好像是錯的
至於縱向的部分,我先整理一下,等會po上來

TOP

或許是我用vba畫格子才會一次一次誤導各位的思路
不過不畫出來我不會解釋我所需要的東西(也不知道順序該怎麼擺)

縱向的部分應該長這樣



不明白的部分可以看附件
我大概排了一下,應該是這樣子沒錯
你的陣列格子是對的,但結果跟我畫出來的不一樣
應該是因為我沒有提到系統是固定順序吃15格進去然後印出
(沒有辦法指定他吃的是縱還是橫,所以我才需要重排後丟入)
我需要的是重新排序後讓系統15格15格的吃進去
在我撕的時候出來的結果才是陣列的圖

所以以45為例,正確的縱向排序應該是這樣
  1. 01 | A01
  2. 16 | A02
  3. 31 | A03
  4. 04 | A04
  5. 19 | A05
  6. 34 | A06
  7. 07 | A07
  8. 22 | A08
  9. 37 | A09
  10. 10 | A10
  11. 25 | B01
  12. 40 | B02
  13. 13 | B03
  14. 28 | B04
  15. 43 | B05
  16. 02 | B06
  17. 17 | B07
  18. 32 | B08
  19. 05 | B09
  20. 20 | B10
  21. 35 | B11
  22. 08 | C01
  23. 23 | C02
  24. 38 | C03
  25. 11 | C04
  26. 26 | C05
  27. 41 | C06
  28. 14 | C07
  29. 29 | C08
  30. 44 | C09
  31. 03 | C10
  32. 18 | D01
  33. 33 | D02
  34. 06 | D03
  35. 21 | D04
  36. 36 | D05
  37. 09 | D06
  38. 24 | D07
  39. 39 | D08
  40. 12 | E01
  41. 27 | E02
  42. 42 | E03
  43. 15 | E04
  44. 30 | E05
  45. 45 | E06
複製代碼
表格縱向排序.rar (24.63 KB)

抱歉我不知道要怎樣解釋才能夠讓你清楚明白我的需求
導致你多花了那麼時間
在此再次拜謝你的幫忙 m(_ _)m

TOP

本帖最後由 wei9133 於 2018-8-8 01:22 編輯
回復  wei9133

再不行,我們私下喬
a5007185 發表於 2018-8-7 11:32


你好,看橫向部分就知道不對
現在60算出來是
  1. 1
  2. 5
  3. 9
  4. 13
  5. 17
  6. 21
  7. 25
  8. 29
  9. 33
  10. 37
  11. 41
  12. 45
  13. 49
  14. 53
  15. 57
  16. 2
  17. 6
  18. 10
  19. 14
  20. 18
  21. 22
  22. 26
  23. 30
  24. 34
  25. 38
  26. 42
  27. 46
  28. 50
  29. 54
  30. 58
  31. 3
  32. 7
  33. 11
  34. 15
  35. 19
  36. 23
  37. 27
  38. 31
  39. 35
  40. 39
  41. 43
  42. 47
  43. 51
  44. 55
  45. 59
  46. 4
  47. 8
  48. 12
  49. 16
  50. 20
  51. 24
  52. 28
  53. 32
  54. 36
  55. 40
  56. 44
  57. 48
  58. 52
  59. 56
  60. 60
複製代碼
正確的應該是
  1. 1
  2. 16
  3. 31
  4. 46
  5. 2
  6. 17
  7. 32
  8. 47
  9. 3
  10. 18
  11. 33
  12. 48
  13. 4
  14. 19
  15. 34
  16. 49
  17. 5
  18. 20
  19. 35
  20. 50
  21. 6
  22. 21
  23. 36
  24. 51
  25. 7
  26. 22
  27. 37
  28. 52
  29. 8
  30. 23
  31. 38
  32. 53
  33. 9
  34. 24
  35. 39
  36. 54
  37. 10
  38. 25
  39. 40
  40. 55
  41. 11
  42. 26
  43. 41
  44. 56
  45. 12
  46. 27
  47. 42
  48. 57
  49. 13
  50. 28
  51. 43
  52. 58
  53. 14
  54. 29
  55. 44
  56. 59
  57. 15
  58. 30
  59. 45
  60. 60
複製代碼
我想我們卡在陣列這裡了...
實際上不是要你重排陣列,因為我這是重新排序的輔助列
系統永遠是15為1張紙照順序吃入(頂多就是最下面那幾排撕掉變成12或9)
請看下圖



東西丟進系統
它的順序是
第一張紙01~15
第二張紙16~30
第三張紙31~45
第四張紙46~60
依此類推

它的順序並不是我能改變的
所以我必須改變丟進去的順序
把原本應該放在2位置的排到16的位置去
  1. 1        A1
  2. 16        A2
  3. 31        A3
  4. 46        A4
  5. 2        A5
  6. 17        A6
  7. 32        A7
  8. 47        A8
  9. 3        B1
  10. 18        B2
  11. 33        B3
  12. 48        B4
  13. 4        B5
  14. 19        B6
  15. 34        B7
  16. 49        B8
  17. 5        B9
  18. 20        C1
  19. 35        C2
  20. 50        C3
  21. 6        C4
  22. 21        C5
  23. 36        C6
  24. 51        C7
  25. 7        C8
  26. 22        C9
  27. 37        C10
  28. 52        D1
  29. 8        D2
  30. 23        D3
  31. 38        D4
  32. 53        D5
  33. 9        D6
  34. 24        D7
  35. 39        D8
  36. 54        D9
  37. 10        D10
  38. 25        D11
  39. 40        D12
  40. 55        D13
  41. 11        D14
  42. 26        E1
  43. 41        E2
  44. 56        E3
  45. 12        E4
  46. 27        E5
  47. 42        E6
  48. 57        E7
  49. 13        E8
  50. 28        E9
  51. 43        E10
  52. 58        E11
  53. 14        E12
  54. 29        E13
  55. 44        E14
  56. 59        E15
  57. 15        F1
  58. 30        F2
  59. 45        F3
  60. 60        F4
複製代碼
必須要是這個順序才能將原本在2位置的A2放到第2張的第一格(16)
而左邊的那列是輔助列,右邊的A1是資料列
需要對輔助列做重新排序,再將輔助列刪除,並將重排過後的資料丟進系統
  1. 1        A1
  2. 2        A5
  3. 3        B1
  4. 4        B5
  5. 5        B9
  6. 6        C4
  7. 7        C8
  8. 8        D2
  9. 9        D6
  10. 10        D10
  11. 11        D14
  12. 12        E4
  13. 13        E8
  14. 14        E12
  15. 15        F1
  16. 16        A2
  17. 17        A6
  18. 18        B2
  19. 19        B6
  20. 20        C1
  21. 21        C5
  22. 22        C9
  23. 23        D3
  24. 24        D7
  25. 25        D11
  26. 26        E1
  27. 27        E5
  28. 28        E9
  29. 29        E13
  30. 30        F2
  31. 31        A3
  32. 32        A7
  33. 33        B3
  34. 34        B7
  35. 35        C2
  36. 36        C6
  37. 37        C10
  38. 38        D4
  39. 39        D8
  40. 40        D12
  41. 41        E2
  42. 42        E6
  43. 43        E10
  44. 44        E14
  45. 45        F3
  46. 46        A4
  47. 47        A8
  48. 48        B4
  49. 49        B8
  50. 50        C3
  51. 51        C7
  52. 52        D1
  53. 53        D5
  54. 54        D9
  55. 55        D13
  56. 56        E3
  57. 57        E7
  58. 58        E11
  59. 59        E15
  60. 60        F4
複製代碼
印出來就會變成


表格排序(說明).rar (31.58 KB)
排序vba版(正確).rar (12.48 KB)
這裡還有附件的部分先全以橫向為基準
畢竟先前有過橫向正確的VBA,縱向的可能要我解釋夠清楚讓你理解之後才有辦法做

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題