- 題名・名前・本文は必ず入力してください。
- 題名は、できれば具体的な本文内容がイメージできるものにしてください。
- スパムよけのため、本文中に句読点記号が含まれていない場合にはエラーとなります。 「,」「.」ではなく「、」「。」を使ってください。
- [バグ][要望][質問][済][未] の分類は管理人が後から勝手に付加しています。 書き込み時は意識する必要はありません。
[546] 複数条件での行削除について
KH [2020/03/22 20:20:39]
いつも利用させて頂いております。
表題の件について、ご教示頂きたいです。
過去の内容を参考に複数条件での行削除を試してみたのですが思い通りに結果になりません。
下記の通り記述しております。
該当行を一度にすべて削除したいのですが、半分ずつしか削除されません。
(マクロを実行すると10行のうち5行が削除される)
マクロの記述が間違っているのでしょうか。
ご確認頂けますと幸いです。
よろしくお願い致します。
【CSVデータ】
タイトル1,タイトル2
1,2
1,2
1,2
1,2
1,2
1,2
1,2
1,2
1,2
【マクロ】
for (x = 1; x <= Right; x++) {
if ([x,1] == "タイトル1") {
x1 = x;
} else if ([x,1] == "タイトル2") {
x2 = x;
}
}
for (y = 1; y <= Bottom; y++) {
if ([x1,y] == "1" && [x2,y] == "2") {
DeleteRow(y);
}
}
Re: [546] 複数条件での行削除について
あすかぜ [2020/03/22 20:27:42]
DeleteRow(y) を実行すると行が削除されてそれ以降の行番号が変わるため、すべての行を処理できなくなってしまいます。
下から上へ処理をすればうまくいくと思います。
for (y = Bottom; y >= 1; y--) {
if ([x1,y] == "1" && [x2,y] == "2") {
DeleteRow(y);
}
}
よろしくお願いします。