[828] 特定の列のセルに特定の文字が入っている場合は、そのセルだけマクロを実行しないようにしたい。
MB [2024/03/22 11:31:58]
特定の列のセルに特定の文字が入っている場合は、そのセルだけマクロを実行しないようにしたいです。
現在20列のセルの文字頭に「株式会社」と文字を自動で入れるマクロを使用しておりますが、22列のセルに「北海道」という文字が入っている場合は20列のセルに「株式会社」を入れるマクロを実行しないようにしたいです。
現在のマクロが下記になります。
for (y = 2; y <= Bottom; y++) {
if (pos([20,y], "有限会社") == 0 &&
pos([20,y], "合同会社") == 0 &&
pos([20,y], "株式会社") == 0 &&
pos([20,y], "㈱") == 0 &&
pos([20,y], "㈲") == 0 &&
pos([20,y], "(有)") == 0 &&
pos([20,y], "(有)") == 0 &&
pos([20,y], "(株)") == 0 &&
pos([20,y], "(株)") == 0) {
[20,y] = "株式会社 " + [20,y];
}
}
こちらをどのように修正したらよいかを誰か教えていただけますと幸いです。
何卒宜しくお願い致します。
Re: [828] 特定の列のセルに特定の文字が入っている場合は、そのセルだけマクロを実行しないようにしたい。
あすかぜ [2024/03/22 21:19:53]
22列目に「北海道」が入っていないことは pos([22,y], "北海道") == 0 と書けるので、
条件を追加して
for (y = 2; y <= Bottom; y++) {
if (pos([20,y], "有限会社") == 0 &&
pos([20,y], "合同会社") == 0 &&
pos([20,y], "株式会社") == 0 &&
pos([20,y], "㈱") == 0 &&
pos([20,y], "㈲") == 0 &&
pos([20,y], "(有)") == 0 &&
pos([20,y], "(有)") == 0 &&
pos([20,y], "(株)") == 0 &&
pos([20,y], "(株)") == 0 &&
pos([22,y], "北海道") == 0) {
[20,y] = "株式会社 " + [20,y];
}
}
とすれば22列目に「北海道」が入っている場合を除外できそうです。
試してみてください。
Re: [828] 特定の列のセルに特定の文字が入っている場合は、そのセルだけマクロを実行しないようにしたい。
MB [2024/03/25 08:49:44]
ご回答ありがとうございます。
とても助かります。
上書きしたマクロを実行しようとすると
Cassava Macro Compiler
1行目
5文字目
値が代入されていない変数です: for
と表示されて実行されないのですが、なにか原因はわかりますでしょうか。
何卒宜しくお願い致します。
Re: [828] 特定の列のセルに特定の文字が入っている場合は、そのセルだけマクロを実行しないようにしたい。
MB [2024/03/25 11:11:46]
すみません、上記解決いたしました。
マクロの無事上手く作用しました。
ありがとうございました。