[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る
題名:
名前:
この名前を次回も使用する


スレッド一覧に戻る返信

[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 以降のみで動作する書き方となっているので、古いバージョンを使っている場合は更新をお願いします。
よろしくお願いします。

スレッド一覧に戻る返信