現在、Excel(Mac)でボタンを押すと
別シートにオプションボタンを生成するマクロを作成中です。
単純にセル値を別シートにコピーすることは
ネットでもありふれていましたが、コントロールに関しては
ほとんどないみたいです。
詳細は、以下の通りです。
・「マスタ」シートには、ある項目の選択肢をセルに記録しています。
(例:牛肉 100,200,300など)
・上記の100, 200, 300をオプションボタンとして別シートに生成します。
・繰り返し生成したいため、オプションボタンはグループボックスで囲みます。
これを実現するために
VBAのコードでどのように書けば良いかを教えていただけないでしょうか?
どうぞよろしくお願いいたします。
以下のようなコードを作成しましたが、
「実行時エラー '1004':
このオブジェクトの作成元アプリケーションを起動できません。メモリが不足している可能性があります。」
というエラーが出てしまいます…。
VBA
1Sub viewInputArea_Click() 2 3 Dim i As Long, j As Long 4 5 Dim workSheetInput As Worksheet 6 Dim workSheetMaster As Worksheet 7 Dim criteriaSheet As Object 8 9 Set workSheetInput = ActiveWorkbook.Worksheets("入力エリア") 10 Set workSheetMaster = ActiveWorkbook.Worksheets("マスタ") 11 12 Dim colsData As Long 13 Dim rowsData As Long 14 rowsData = workSheetMaster.Cells(Rows.Count, 2).End(xlUp).Row 15 16 Dim optBtn As OLEObject 17 Dim criteriaCell As Range 18 19 For i = 1 To rowsData - 1 20 workSheetInput.Cells(7 + (i - 1), 2).Value = workSheetMaster.Cells(6 + (i - 1), 2).Value 21 22 colsData = workSheetMaster.Cells(i, Columns.Count).End(xlToLeft).Column 23 For j = 1 To colsData 24 Set optBtn = workSheetInput.OLEObjects.Add( _ 25 ClassType:="Forms.OptionButton.1", _ 26 Link:=Flase, DisplayAsIcon:=False, _ 27 Left:=6.3, _ 28 Top:=2.1, _ 29 Width:=0.7, _ 30 Height:=0.35 _ 31 ) 32 optBtn.Object.Caption = workSheetMaster.Cells(6 + (i - 1), j).Value & 年 33 Next j 34 Next i 35End Sub
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/19 08:16