こんばんは若槻です。何ヶ月かぶりにQRコードに悩まされました。
次回からは先輩お勧めのAccessで作ることにします。
ExcelでQR難しいわ!
ってことで、今日はちょっと自分用メモ。
【状況】
1回目の処理の時には問題なくQRコードが
表示されるが2回目以降に「Value」や「Name」の
エラーが出てしまう
【原因】
1.AddInが細かく切り替わるため
2.むしろ「Application.EnableEvents = False」のせい
3.何より再計算がされていない
【考察】
原因1 :
処理の前後にQRのアドインのオンオフ切り換え
→終了後にオフにしないと数回は平気
→だけどここに入れないと依頼元に文句言われる
→じゃあこのままで
原因2 :
これをなくすと問題なくQRコードが表示される
→でもこれがないと画面遷移が止められない
→普段は「Application.ScreenUpdating」があれば
いけるけどアドイン入るとこれだけじゃ無理
→てことはこれも消せない
原因3 :
処理の前に前回のものを確実に削除している
→なのに上手くいかないということは、
削除と本処理の間の間隔が短い?
→じゃあ……あ、これだ。出来た
【結果】
Sub Main()
DontLook
(削除処理)
OKLook
Calculate
For i = 1 to 3
WHX.Range("A1").Value = WHX.Range("A1").Value + 1
Next
WHX.Range("A1").Value = ""
DontLook
(メイン処理)
OKLook
End Sub
※DontLookとOKLookはこ
ちらの記事参照
【解説】
1.最初に削除処理(これを見せないために最初のDontLook)
2.一度OKLookで機能を復活させてから再計算処理(緑部分)
「Calculate」は再計算の命令
3.もう一度DontLookで再描写等を切ってメイン処理
4.最後にもう一度OKLookで処理を復活
こんな感じのことやるとちゃんと動作した。
ああもうQRコード大っ嫌いだ!
もし同じこと悩んで彷徨いついた人が万が一にでもいたら頑張ってください。
そしてもっといい方法があったら教えてください(笑)
[0回]