- 題名・名前・本文は必ず入力してください。
- 題名は、できれば具体的な本文内容がイメージできるものにしてください。
- スパムよけのため、本文中に句読点記号が含まれていない場合にはエラーとなります。 「,」「.」ではなく「、」「。」を使ってください。
- [バグ][要望][質問][済][未] の分類は管理人が後から勝手に付加しています。 書き込み時は意識する必要はありません。
[727] 親子関係になっている得意先の一部得意先コード・請求先コードを一括置換したい。
hohe [2023/01/19 20:09:13]
以下の置換は可能でしょうか。
親子関係になっている得意先の請求先コードを一括置換したい。
手順1
請求先コードでソートする
手順2
得意先コードと請求先コードを比較する。
一致しない請求書コードと同じコードが得意先コードにある行
を行コピーする。
手順3
一致しない請求先コードを特定のコードを付与して置き換える。
コピーした行の得意先コードは置き換えない。請求書コードだけ置き換える。
※例では、元のコードに9999を付与しています。
もともと一致一致する行は置き換えしない。
同じような条件の得意先が複数あるので、上から順に同じ処理を繰り返す。
付与するコードは9999で統一
元のリスト
1列目(得意先コード) 2列目(得意先名) 3列目(請求先コード) 4列目(請求先名)
1行目 1001 A得意先 2001 D得意先
2行目 1002 B得意先 1002 B得意先
3行目 1003 C得意先 2001 D得意先
4行目 2001 D得意先 2001 D得意先
↓
請求先コード順得意先コード順でソート 手順1
1列目(得意先コード) 2列目(得意先名) 3列目(請求先コード) 4列目(請求先名)
1行目 1002 B得意先 1002 B得意先
2行目 1001 A得意先 2001 D得意先
3行目 1003 C得意先 2001 D得意先
4行目 2001 D得意先 2001 D得意先
5行目 2001 D得意先 2001 D得意先(コピーした行)
↓
手順2・手順3
1列目(得意先コード) 2列目(得意先名) 3列目(請求先コード) 4列目(請求先名)
1行目 1001 A得意先 99992001 C得意先
2行目 1002 B得意先 1002 B得意先
3行目 1003 A得意先 99992001 C得意先
4行目 99992001 C得意先 99992001 C得意先
5行目 2001 C得意先 99992001 C得意先(コピーした行)
マクロでできるような内容ではないかもしれませんが、ご助力お願い致します。
Re: [727] 親子関係になっている得意先の一部得意先コード・請求先コードを一括置換したい。
あすかぜ [2023/01/19 22:28:37]
手順の内容でマクロを書いてみました。
https://www.asukaze.net/soft/cassava/macro/asukaze/bbs727_20230119.cms
いただいた例とはいくつか違う結果となっています。
・例では最終的な行の順序が最初のデータに近い並びとなっていますが、このマクロでは 3 列目でソートした順序となっています。
・例では途中で「D得意先」が「C得意先」に置き換わっていますが、このマクロでは 2 列目や 4 列目は元のデータから変更しません。
1002 B得意先 1002 B得意先
1001 A得意先 99992001 D得意先
1003 C得意先 99992001 D得意先
99992001 D得意先 99992001 D得意先
2001 D得意先 99992001 D得意先
Cassava Editor 2.1 以降のみで動作する書き方となっているので、古いバージョンを使っている場合は更新をお願いします。
よろしくお願いします。