• 締切済み

EXCEL VBA CHECKBOXの表示名セット

いつもお世話なっています。 久しぶりに質問させて下さい。 EXCEL2000で、業務上での原紙ファイルを作成し、 複数の部署に配布を予定しています。 そして、部署毎に、配布するファイルのシートに入れておく、 CHECKBOXの約30個に対し、 その表示名(CAPTION)を、部署毎に変更したいので、 マクロにそれを記述しておきたいのです。 (複数の部署毎に、CAPTOINを変えたいからです。 それと毎回内容も変えたいのです。) いろいろとネットを見てて、 VBAマクロに記述をすることで可能のようですが、 ちょうどいい参考になる例がなかったので、 教えて下さい。 よろしくお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

下記を標準モジュールに入れて実行。 Sub test01() Worksheets(1).DrawingObjects.Delete For i = 1 To 10 Worksheets(1).OLEObjects.Add("Forms.checkbox.1").Select With Selection .Left = 100 .Top = (i - 1) * 30 + 20 End With Worksheets(1).Shapes(i).DrawingObject.Object.Caption = "AAA" & i Next i End Sub で10個のチェックボックスがシートに出来る。名前は私の勝手で、AAAx(xは1から10) --- このAAAの部分を部署ごとの文字列に変えるのか。 どういう基準で変えるのか。数?それとも何か別の基準? ーー 質問するならそういう大事なことが質問に書いてないのではないか。 だから何を聞いて居るか他人に判らないのではないか? シートにコントロールを貼り付けるときも、2種類あるよね。 表示ーツールバーーコントロールツールボックスとフォームの2種類。このどちらか意識してますか。 ーー 30個ぐらいなら手作業で出来る。 VBAでやろうとするのは時期尚早では。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

Excelではフォームのチェックボックスとコントロールツールボックスのチェックボックスの2種類を利用できますが,今回はコントロールツールボックスのチェックボックスを利用することにします。 シート1にチェックボックスが30個が配置済みとします そのcaptionを変更したいということですが,具体的な記載内容の準備の方法に特に指定がないので,ごく簡単にシート2のA1からA30まで順に30個記入しておくこととします。 作成例: sub macro1()  dim o  dim i  for each o in worksheets("Sheet1").oleobjects   if typename(o.object) = "CheckBox" then   i = i + 1   o.object.caption = worksheets("Sheet2").cells(i, 1)   end if  next end sub 大体こんなカンジを下敷きにして,「その他の差し替え用データ組の用意」とか「具体的にどのデータ組に差し替えるのかどうやって指定する」とか,どのチェックボックスがどの差し替えデータに対応とか,作り込んでみてください。

noname#157410
noname#157410
回答No.1

マクロの前に差し込み印刷覚えたらいいと思います 言っていることが、ちょっとつかみにくかったので、EXCELの標準機能にありますよ。 私が思っていることとは、違うことを言っているのでしょうか?

imachan_net
質問者

補足

さっそくとありがとうございます。 でも、やりたいことが違います・・・

関連するQ&A