SSブログ

マクロが動かない! [コンピュータ]

自分的には、ずっとファイルメーカーを使って通知表の作成業務をおこなっていたのだけど、
近年は、学校としてエクセルでやっていこう、という流れに従って、エクセルを使って作業をおこなってきた。

ただ、印刷をするときのマクロについては、各学年の担当者が、自分でやりやすいようにやっていたので、僕も、そうしていたのですが、
そのマクロが動かなくなってしまったのです。
簡単なマクロなんです。

Sub 通知表印刷()
Range("個人番号") = Range("自")
Do While Range("個人番号") <= Range("至")
Sheets("通知表(3学期)").PrintOut
Range("個人番号") = Range("個人番号") + 1
Loop
End Sub


工夫としては、個人番号とかの値をセルの指定ではなく、「名前」を使っていること。

まあ、結果的には、そんなことするからいけなかったのかもしれないのですがw

今年から使っているファイルなので、これまで通知表で2回、定期試験の個票で4回、使ってきたわけです。

なのに、突然、エラーメッセージがでて動かないわけです。

エラー 13 「型が一致しません。」

う~ん、プログラムって、本来は「データの型」とかってちゃんと区別して使わないとダメだとは聞いたことあるけど、VBAって、いい加減でも大丈夫なんでしょ!

とか、いろいろ考えてしまって、泥沼状態。

2時間ぐらい、いろいろなことをやって、
最終的には、「個人番号」を指定しているセルが、結合したセルになっていたため、ということだったみたいなのだけど・・・。

でも、今までだって、結合したセルを使っていたのに・・・。

どうも、名前で定義されているセルが、これまでは「先頭のセル」のみだったのに、今回動かなかったのは、「セル範囲」だっただからみたい。


学年の先生方を待たせる状態になってしまいました。
ご迷惑をおかけしました。

nice!(2)  コメント(0) 
共通テーマ:音楽

nice! 2

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント