- 題名・名前・本文は必ず入力してください。
- 題名は、できれば具体的な本文内容がイメージできるものにしてください。
- スパムよけのため、本文中に句読点記号が含まれていない場合にはエラーとなります。 「,」「.」ではなく「、」「。」を使ってください。
- [バグ][要望][質問][済][未] の分類は管理人が後から勝手に付加しています。 書き込み時は意識する必要はありません。
[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]
すみません、上記解決いたしました。
マクロの無事上手く作用しました。
ありがとうございました。