エクセルマクロ 島の処理を文字列判定でしたい。 出荷処理をエクセルで行っていまして、 B列に宅配会社 I列に住所 AI列に手数料

補足

※うまくいかないもの。少ないコードで処理負担なくやりたい。 ※文字数が足りないので北海道を省いています。 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閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

ありがとうございます。 この処理は「出荷リスト」というシートの中でやりたい事ですか?→はい。その通りです。 >手数料が1円以上ならば、住所により >宅配会社をB列の最下行まで自動で入れるようにしたいのですが、 B列に宅配会社は入っていないので、B列を設定したいというのが本題ですか。 →正確にはB列には元々割り振りした会社名が入っているのです(だから関数にしたくないのです)が、 手数料が入ったときには、それを上書きしたいということになります。 北海道沖縄離島はヤマト運輸、それ以外は佐川急便ということです。 住所により宅配会社を入れるとの事ですが、住所から宅配会社は、どう判断すればいいのでしょう。 →元々はいっていますので、そちらは考慮しなくて大丈夫です。 手数料が1円以上あった場合のみ、住所の内容を判断ということになります。 どうかよろしくお願いします。

ThanksImg質問者からのお礼コメント

細かいやりとりを大変ご丁寧に、根気よくお付き合いいただき、本当にありがとうございました。素晴らしい方です。

お礼日時:7/1 22:04

その他の回答(1件)

0

>処理負担なくやりたい >離島の種類を文字列でたくさん追加したい >住所内で指定の文字列があれば宅配会社を自動で割り振る >どんどん追加できるとありがたい これだと関数のほうが良い気もしますがマクロが良いんでしょうか 島リストシートを作ってA列に島の名前、B列に宅配会社を入れといて 出荷リストシートに 島リストにXlookupとかindex+matchでヒットしたらB列の宅配会社を入れる ヒットしなかったら他の判断基準で宅配会社を入れる マクロでやるにしても島リストシートはあったほうが良いと思います

ありがとうございます。すでにややこしい処理をマクロにしていまして、それと融合させたいため、関数にはしたくないのです。ただ、ご指摘の点はありがたいです。このマクロも「離島」というシートのA2から下に文字列を貼り付けていく形でもかまいませんので、マクロでご検討いただけたら幸いです。