(VBA)スピンボタンの大量コピー(相対参照)
お世話になります。質問させていただきます。
表題件ですが、EXCELにて
「A列にコントロールツールの"スピンボタン"をリンクセルを相対参照にして縦に大量にコピー(さらに増減値をデフォルトの1から10に変更)」したいと考えています。
以下に記載したVBAコードは、こちらと同様のQ&Aサイトにて見つけてきた「A列にコントロールツールの"チェックボックス"をリンクセルを相対参照にして縦に大量にコピー」するコードです。
先ずは参考までにご確認ください。
-----------------------------------------------------------------
Sub Checkbox連続作成()
Dim myChk As Object
Dim i As Long
Dim Sakuseisuu As Long
Dim StartCell As Range
'--------↓ここを変更---------
Sakuseisuu = 20 'チェックボックスの作成数
Set StartCell = Range("A1") 'スタートする位置
'--------↑ここを変更---------
For i = 0 To Sakuseisuu - 1
With StartCell.Offset(i)
Set myChk = ActiveSheet _
.OLEObjects.Add(classtype:="Forms.CheckBox.1", _
Link:=False, DisplayAsIcon:=False, _
Left:=.Left, Top:=.Top, _
Width:=.Width, Height:=.Height)
End With
With myChk
.LinkedCell = StartCell.Offset(i, 1).Address
.Object.Caption = ""
.Object.Value = False
End With
Next
End Sub
------------------------------------------------------------------
上記コードを参考に、「A列にコントロールツールの"スピンボタン"をリンクセルを相対参照にして縦に大量にコピー」すべく、コードを以下のように短絡的に書き換えてみましたが、エラーとなってしまいます。
------------------------------------------------------------------
Sub SpinButton連続作成()
Dim myspin As Object
Dim i As Long
Dim Sakuseisuu As Long
Dim StartCell As Range
'--------↓ここを変更---------
Sakuseisuu = 20 'チェックボックスの作成数
Set StartCell = Range("A1") 'スタートする位置
'--------↑ここを変更---------
For i = 0 To Sakuseisuu - 1
With StartCell.Offset(i)
Set myspin = ActiveSheet _
.OLEObjects.Add(classtype:="Forms.SpinButton1.", _
Link:=False, DisplayAsIcon:=False, _
Left:=.Left, Top:=.Top, _
Width:=.Width, Height:=.Height)
End With
With myspin
.LinkedCell = StartCell.Offset(i).Address
.Object.Caption = ""
.Object.Value = False
End With
Next
End Sub
------------------------------------------------------------------
お詳しいかたがおられましたら、是非ともアドバイスを頂戴したく存じます。
さらにわがままを述べると、増減値をデフォルトの1から10に変更したく考えております。
何卒よろしくお願い申し上げます。
お礼
回答ありがとうございます。勉強になりました。 回答者様のように、スラスラとコードがかける様になれるといいなぁって思います。