エクセルマクロ 島の処理を文字列判定でしたい。 出荷処理をエクセルで行っていまして、 B列に宅配会社 I列に住所 AI列に手数料
エクセルマクロ 島の処理を文字列判定でしたい。 出荷処理をエクセルで行っていまして、 B列に宅配会社 I列に住所 AI列に手数料 が入っています。手数料が1円以上ならば、住所により 宅配会社をB列の最下行まで自動で入れるようにしたいのですが、 うまくいきません。 離島の種類を文字列でたくさん追加したいので、 配列などで、住所内で指定の文字列があれば宅配会社を 自動で割り振る方法はないでしょうか?どんどん追加できるとありがたいです。 私が作ったマクロはうまく動きませんでした。あとで追記いたします。 都合上マクロでのご回答をいただければと思います。 どうかよろしくお願いします。
※うまくいかないもの。少ないコードで処理負担なくやりたい。 ※文字数が足りないので北海道を省いています。 Sub test() Worksheets("出荷リスト").Select Dim i As Long For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row '最下行取得2はB列の意味 If Cells(i, "AI") > 0 Then Cells(i, "B").Value = "佐川急便" If Cells(i, "AI") > 0 And Cells(i, "I").Value Like "*沖縄県*" Then Cells(i, "B").Value = "ヤマト運輸" If Cells(i, "AI") > 0 And Cells(i, "I").Value Like "*東京都小笠原村*" Then Cells(i, "B").Value = "ヤマト運輸" End If End If End If Next End Sub
Excel | Office系ソフトウェア・157閲覧・100
ベストアンサー
質問文と補足のコードを読んだのですが、よくわかりませんでした。 この処理は「出荷リスト」というシートの中でやりたい事ですか? >手数料が1円以上ならば、住所により >宅配会社をB列の最下行まで自動で入れるようにしたいのですが、 B列に宅配会社は入っていないので、B列を設定したいというのが本題ですか。 住所により宅配会社を入れるとの事ですが、住所から宅配会社は、どう判断すればいいのでしょう。 補足のコードがその規則でしょうか。
ありがとうございます。 この処理は「出荷リスト」というシートの中でやりたい事ですか?→はい。その通りです。 >手数料が1円以上ならば、住所により >宅配会社をB列の最下行まで自動で入れるようにしたいのですが、 B列に宅配会社は入っていないので、B列を設定したいというのが本題ですか。 →正確にはB列には元々割り振りした会社名が入っているのです(だから関数にしたくないのです)が、 手数料が入ったときには、それを上書きしたいということになります。 北海道沖縄離島はヤマト運輸、それ以外は佐川急便ということです。 住所により宅配会社を入れるとの事ですが、住所から宅配会社は、どう判断すればいいのでしょう。 →元々はいっていますので、そちらは考慮しなくて大丈夫です。 手数料が1円以上あった場合のみ、住所の内容を判断ということになります。 どうかよろしくお願いします。
質問者からのお礼コメント
細かいやりとりを大変ご丁寧に、根気よくお付き合いいただき、本当にありがとうございました。素晴らしい方です。
お礼日時:7/1 22:04