[817] 重複チェック繰り返し
まくろしょしんしゃ [2024/02/28 15:35:24]
こんにちは。
x = 2;
for (y = 2; y <= Bottom; y++) {
if ([x,y] == [x,y+1]&&[x-1,y] == [x-1,y+1]) {
[3,y] =[3,y] + [3,y+1];
DeleteRow(y+1);
}
}
これだと上下隣り合うものだけのチェックになるので
3~行あるものは削除されません。
これを重複がなくなるまで行いたいのですが
どうすれば良いでしょうか?
Re: [817] 重複チェック繰り返し
あすかぜ [2024/02/28 21:44:39]
行を削除するとその行以降の行番号が変わってしまうので、すべての行をチェックするのが少し難しくなります。
下から上へ処理をするように書くとマクロが書きやすいかもしれません。
for (y = Bottom; y >= 2; y--) {
if ([1,y] == [1,y+1] && [2,y] == [2,y+1]) {
[3,y] = [3,y] + [3,y+1];
DeleteRow(y + 1);
}
}
このマクロでどうでしょうか?
Re: [817] 重複チェック繰り返し
まくろしょしんしゃ [2024/03/01 14:14:11]
なるほど!ありがとうございます。