[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る
題名:
名前:
この名前を次回も使用する


スレッド一覧に戻る返信

[710] 指定のセル内に指定の文字がある場合はそのセルだけマクロを実行しないようにしたい

CSV [2022/09/29 12:01:41]

指定のセル内に指定の文字がある場合はそのセルだけマクロを実行しないようにしたいのですが、どういった方法をとればよろしいでしょうか。

自分で作成したマクロは20列のセルの先頭に株式会社を入力するマクロです。
このままでは20列にあるセルで有限会社と記入してある場合も先頭に株式会社が入力されてしまうのですが、有限会社という文字が入力されているセルには株式会社と入力したくないので、その方法を知りたいです。

↓こちらが自分で作成したマクロです
x = 20;
for (y = 2; y <= Bottom; y++) {
  [x,y] = "株式会社 " + [x,y];
}


どなたかご教授いただければ幸いです。

Re: [710] 指定のセル内に指定の文字がある場合はそのセルだけマクロを実行しないようにしたい

あすかぜ [2022/09/29 20:08:10]

マクロの中では if 文で条件を指定できます。
こちらのリンク先のマクロを試してみてください。
https://www.asukaze.net/soft/cassava/macro/generator/#y=2&x=e&xv=20&cv1=%E6%9C%89%E9%99%90%E4%BC%9A%E7%A4%BE&co1=nc&pv1=%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%80%80&name=%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%92%E8%BF%BD%E5%8A%A0
よろしくお願いします。

Re: [710] 指定のセル内に指定の文字がある場合はそのセルだけマクロを実行しないようにしたい

CSV [2022/09/30 08:53:07]

ご回答ありがとうございます。


マクロを実行しようとすると

3行目 3文字目

演算子の位置が不正です:=

とエラーが出て実行できません。


なにか原因などわかりますでしょうか、、、

素人質問で申し訳ありません。

Re: [710] 指定のセル内に指定の文字がある場合はそのセルだけマクロを実行しないようにしたい

あすかぜ [2022/09/30 19:06:13]

マクロの内容を間違って編集していたりはしないでしょうか?
3 行目の「x」が他の記号などに置き換わっているとそのようなエラーになるかもしれません。
念のため、リンク先のマクロの内容をここにも貼り付けておきます。

x = 20;
for (y = 2; y <= Bottom; y++) {
  if (pos([x,y], "有限会社") == 0) {
    [x,y] = "株式会社 " + [x,y];
  }
}

次のような書き方でも同じ動作となるはずなので、こちらを試してみてもよいかもしれません。

for (y = 2; y <= Bottom; y++) {
  if (pos([20,y], "有限会社") == 0) {
    [20,y] = "株式会社 " + [20,y];
  }
}

参考までに、Cassava Editor はどのバージョンを使っているでしょうか?

Re: [710] 指定のセル内に指定の文字がある場合はそのセルだけマクロを実行しないようにしたい

CSV [2022/10/03 14:00:48]

ご回答ありがとうございます。

教えていただいた2番目のこちらのマクロを使用したら正常に動作しました、ありがとうございます。

for (y = 2; y <= Bottom; y++) {
  if (pos([20,y], "有限会社") == 0) {
    [20,y] = "株式会社 " + [20,y];
  }
}

ちなみに有限会社だけでなく、(有)や(株)の文字を含む場合も処理を行わないようにしたいのですが、可能でしょうか?

よろしくお願い致します。


バージョンは2.4.3(64bit)です。


Re: [710] 指定のセル内に指定の文字がある場合はそのセルだけマクロを実行しないようにしたい

あすかぜ [2022/10/03 21:02:46]

(有)や(株)も除外するには、次のようにしてみてください。

for (y = 2; y <= Bottom; y++) {
  if (pos([20,y], "有限会社") == 0 &&
      pos([20,y], "(有)") == 0 &&
      pos([20,y], "(株)") == 0) {
    [20,y] = "株式会社 " + [20,y];
  }
}

x = 20; が動作しない理由はすみませんがよくわかりません。
よろしくお願いします。

Re: [710] 指定のセル内に指定の文字がある場合はそのセルだけマクロを実行しないようにしたい

CSV [2022/10/04 08:32:39]

ご回答ありがとうございます。

(有)や(株)も除外することに成功しました。

ご教授くださりありがとうございました。

スレッド一覧に戻る返信