エクセル 関数 データを並び替えに合わせる
元シートC列にID番号があり、EC列まで受注情報や顧客情報が入っています。
C列のIDは重複、空白が混ざっています。
シートはロックをかけており、マクロのみで行の追加が行えます。
同じ顧客が複数受注することがあるので、マクロで行追加をする際には、選択行の真下に選択行を丸々コピペし、受注内容だけを削除するようにしています。
行の削除は管理者のみが行えます。
並び替えはIDや会社名など数列、マクロで行えるようになっています。
しかし顧客情報を変更する場合は複数行忘れずに変える必要等の不便があるので、別シートに各IDのデータを集めた顧客シートを作成し、そこから読み込むようにしました。
ユーザーフォームで元シートから情報を読み込み、編集は顧客情報の部分は顧客シートへ、受注内容は元シートへ記述します。
現時点では元シートへの直入力もできる状態です。
顧客シートはA列にIDを表示し、
=IF(COUNTIF(元!C$5:C6,元!C6)>1,"",元!C6)
をドラッグして、元シートにIDが追加されても重複しないIDを表示し、その隣へ顧客情報を並べています。
ところが、元シートをIDやその他の列で並び替えた時、顧客シートで読み込んでいるIDも並び替わってしまい、その横の顧客情報と一致しなくなってしまいます。
1. 元シートを並び替えた時、顧客シートの情報はIDとマッチさせたままにする
2. 元シートに新規追加した際、IDが空白の場合は、仮IDとして自動で【仮1】などを順に振っていく。後で編集可能
顧客シートは現在A列が元シートから引っ張ってきたIDですが、ID列以降横に顧客情報が並べられれば、A列の前に作業列を数行挿入してもOKです。
新規顧客は初めからIDが無いため、ID無しでその他の顧客情報を記録するところから始まります。
しかし顧客情報はIDを基に管理したいので、ID発行までは仮IDを自動で振りたいと思っています。
どうぞ宜しくお願いいたします。