- ベストアンサー
エクセルマクロを用いたバーコード出力
いつもお世話になっています。 エクセルマクロを用いて連番のバーコードを出力しようと考えたのですが、なかなか難しく質問に来ました。 A1~A10にバーコード用の数字(チェックデジット込みの13桁)を準備しました。 これに対応させたバーコードデータを10個作ろうとしたのですが、linkedCellの設定も上手くできませんし、デザインモードの切り替えをしないと表示もできないようで、困っています。 マクロの記録を使っても上手くいかず・・・ アドバイスの程お願いいたします。 できればサンプルマクロをご提示いただくと幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まさかそんなお話だとはw,元のご相談からは全く読み取れませんww デザインモードは当然ww解除しておいて実行しますwww sub macro1() dim h, o for each o in activesheet.oleobjects o.delete next for each h In range("B1:B60") with activesheet.oleobjects.add(classtype:="BARCODE.BarcodeCtrl.1", left:=h.left + 5, top:=h.top + 4, width:=h.width, height:=h.height - 4) .linkedcell = h.offset(0, -1).address .width = .width - 10 end with next end sub
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
そもそもどこまでやれていて何を困っているご相談なのか,なんだかずいぶん不明瞭です。 ご質問: 1)linkedCellの設定も上手くできません 2)デザインモードの切り替えをしないと表示もできないようで、困っています。 まさかと思いますが,「バーコードコントロールを何もないシートにマクロで配置しようとしている,その際にリンクするセルもマクロで設定しようとしていて,それが出来ない」なんてお話じゃないですよね。 10個のバーコードコントロールは事前にシート上に手で配置しておきます。 また配置済みのコントロールにリンクするセルの設定が出来ないというのはかなり致命的に初歩的な出来ない内容ですが,既出回答にもあるように,それぞれ対応するセルとの対応付けも,マクロを使うまでもなくコントロールのプロパティで事前に設定しておきます。 また,コントロールを実際に使用する際には,デザインモードは当然終了しなければいけません。これもアタリマエの操作です。デザインモードを終了することで,バーコードが表示されます。 で,実際にはセルの数字を書き換えた後,次の質問で寄せられていたような問題が待っています。 参考にしてください。 http://okwave.jp/qa/q6743667.html #このご質問でベストアンサーに選ばれている回答は,質問で聞かれているのとは違う,ずれたことを回答していますので注意して読んでください。
補足
>まさかと思いますが,「バーコードコントロールを何もないシートにマクロで配置しようとしている,その際にリンクするセルもマクロで設定しようとしていて,それが出来ない」なんてお話じゃないですよね。 そのまさかですw バーコードをたくさん作りたいので、手作業ではなくマクロで バーコード作成⇒リンクするセルの設定⇒デザインモードの終了 と行いたいです。 実際、配置まではできるのですが、linkedcellの設定と、デザインモードの切り替えができないので、困っています。 ご提示していただいたページに再描画を誘発させるものがあったので、とりあえず試してみるとして、 当面はlinkedcellの設定ができないことに関してお伺いしたいです!
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
Excelのバージョンは? >linkedCellの設定も上手くできませんし 単純に LinkedCellに A1 別のバーコードコントロールで同様に A2 と全部で十回行えばよいのでは? >A1~A10にバーコード用の数字(チェックデジット込みの13桁)を準備しました ちなみにチェックデジットは勝手に計算してくれるようです。 >、デザインモードの切り替えをしないと表示もできないようで デザインモードを終了させれば リンクしたA1:A10セルに対応して変化しませんか? >マクロの記録を使っても上手くいかず・・・ イマイチ何をしたいかわかりません。 不具合のあるところはなんでしょうか? (当方OfficeXPPro、普段使用しない機能なので検証不足かも)
補足
あー失礼しました。 office2003のエクセルです~ バーコードを60個ほど作るのに全部手作業でやっていては面倒ですし、参照値も変わります。 FOR文等を使って設定したいのですが、設定がうまくできないのです。 配置に関しては、なんとかなっているのですが、linkedcellの設定ができない、別の質問でもあった通り、デザインモードをオンオフしないと表示されないという二つの大きな問題があります。 どうしたらよいでしょうか?
お礼
質問下手でもうしわけありません^^; ですが、助かりました!! linkedcellはaddressで指定すればいけるわけですね!! なるほどなるほど! たすかりました! ありがとうございました!!