アプリ版:「スタンプのみでお礼する」機能のリリースについて

tom04 さんが回答して頂いた、回答日時:2019/05/20 21:20
Sub Sample3()から始まるプログラムを実行すると
添付のようなエラーがでます。

エラーについてお分かりになられる方、ご教授ください。

(リンク https://oshiete.goo.ne.jp/mypage/history/questio …

「EXCEL 自動的に行を追加して表を完成」の質問画像

A 回答 (5件)

続けてお邪魔します。



今、こちらでサンプルを作りもう一度以前のマクロを実行してみました。
これ!といったエラーは出なかったのですが・・・

もしかして、Sheet2のデータ(A列~D列文字列を「_」で連結したもの)がSheet1に存在しないのでは?
すなわちSheet2にデータは必ずSheet1に存在する!コトが前提のコードなので

前回のコードの
>If wS2.Cells(i, "E") Mod myDic(myStr) > 0 Then
の前に
>If myDic.exists(myStr) Then
の1行を追加、そして

>cnt = 0
の次にもう一行
>End If

を追加したらどうなりますか?

※ これで万一Sheet2のデータがSheet1にない場合は無視されます。
当然のコトですが、Sheet1に存在しないデータはSheet3にも表示されません。m(_ _)m
    • good
    • 0

No.3です。



リンク先を見てみたら随分と前の物なのですね。
その時に回答しているよう『データ入力のポカミス(品番など)』が原因で本来必要とはされないキーで登録されているからでは?
    • good
    • 0

良く見えないですが。



If myDic.Exists(myStr) Then ~ End If

を大外として該当するIf文は上記の中に入れてしまえば宜しいのでは?
中に入れていないためキーが存在しなくても計算を実行してしまいますから。
    • good
    • 0

こんばんは!



解答した者です。
その質問を探すのに相当時間を要しました。
↓のサイトの件ですね。
https://oshiete.goo.ne.jp/qa/11129323.html

お示しの画像を拝見するとNo.1さんがおっしゃっているように
「0」で割り算をしているエラーと思われます。

もしかして、Sheet1のE列に「0」もしくは空白セルが存在していませんか?

考えられる原因としてはそのくらいしか思いつきません。
*ただ、エラーになるのであれば、お示しの画像の行ではなく、それより前の

>myCnt = Int(wS2.Cells(i, "E") / myDic(myStr))
の行で止まってしまうはずなのですが・・・

この程度しか考えられないので、
ごめんなさい。m(_ _)m
    • good
    • 0
この回答へのお礼

tom04さん
ご回答頂き有難く存じます。
何度も確認しましたがSheet1のE列に「0」もしくは空白セルはありませんでした。

新たにデーターを追加していく事で起きたエラーですが、
Sheet1のデーターと照合確認はとれております。

また、↓
>myCnt = Int(wS2.Cells(i, "E") / myDic(myStr))は
何を確認したら宜しいでしょうか?

お手数かけますが宜しくお願いします。

お礼日時:2020/03/27 13:44

読みにくいので全部は読んでいません。


「Mod my.Dic(myStr)」で「0で除算しました」ということですので、「my.Dic(myStr)」が0なのでしょう。
追伸
参考リンクは質問そのもののURLをはってくれないと、自分(回答者)の質問履歴に飛んでしまします。
例 -----//oshiete.goo.ne.jp/qa/11546037.html
この質問の番号ですが、自動リンクを避けるために最初は変更しています。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!