質問: 連想配列内に同じ値があり処理がスキップされてしまう こんにちは。 こちらのサイトで協力いただき作成しましたコードがありまして、 内容は下記のようなものとなっております。 ※コードの全体は長いのでこちらに乗せております ⇒https://ideone.com/urullp 1設定シートからマクロを起動し、ダイアログを開きシート1の入ったファイルを開きます。 2開いたファイル内に【差分】シートを作成後、ダイアログを開きシート2の入ったファイルを開きます 3シート1とシート2のユニークキーが合致するものを検索し下記条件でレコードの書き換えを行います ・レコードがハイフンまたは空欄のもの ※シート2のレコードが空欄やハイフンの場合は転記処理をスキップ ・ステータスが【検討中】【設計ok】のもの ・設定シート内l列の検索ワードがユニークキーに含まれているもの 4上記条件で転記した行はdf列に【転記あり】と記載 5シート1のレコードに日付等の情報がある場合転記は行わずde列に【変更有】と記載し、2にて作成した差分シートに転記 6シート1に存在するユニークキーがシート2に存在しなかった場合de列に【レコード削除】と記載 これで運用開始していたのですが元データの変更があり、列名が重複するようになってしまい処理がされなくなってしまいました ※例えばh列の出店開始日等からスキップされ、支店3から転記されるようになっています 配列内に同じものが格納できないと思うのですが、元データのほうはいじれないので 何か解決策があればご教授いただけると幸いです。 (各種ファイルの画像を捕捉に入れておきます)
回答: no.4です。 お薦めしたループの原文についてですが、1つ見つかったら実行を止めるようになってますけど、不具合が数個あったとしたら実行・停止を何回もしないとなりませんよね?(1個で他の間違いも修正出来たなら関係ないですが。) 動的配列に目的の文字をその都度代入し、停止する際に改行コードでjoinした文字列をメッセージボックスで表示させるとチェックが楽なんじゃないのかな?と。