
お世話になります。質問させていただきます。
表題件ですが、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に変更したく考えております。
何卒よろしくお願い申し上げます。
No.2ベストアンサー
- 回答日時:
こんにちは。
たぶん、#1さんのアドバイスで、コントロールツールを連続で作ることは可能ですが、問題は、その後のことです。設計をお決めになるのは、sdfghさんご自身ですが、これに、チェックボックスと連動させることを考えれば、かなりややこしくなるはずです。コントロールツールは、OnAction には入れられないはずですし、また、Application.Caller が利きません。個々にマクロを付けるのは大変ですから、それで、前回、フォームツール側を選んだわけです。
なお、サンプルコードは、少し雑な内容のようです。
質問文を超えた次元で、私の意を汲んでいただき大変感激しています。
お蔭様で、Wendy02様が別件にてご回答くださりましたコードで解決いたしました。
No.1
- 回答日時:
スピンボタンを挿入する操作を「マクロの記録」をしてみましょう。
違いがわかります。
classtype:="Forms.SpinButton1."
は記述ミスをしています。「.」の位置が違います。
classtype:="Forms.SpinButton.1"
としてください。
スピンボタンのプロパティを見れば分かると思いますが
スピンボタンには、Captionはありません。
Min、Maxを設定された方が良いと思います。
増減値は、SmallChangeです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) QRコード作成マクロについて 3 2022/11/26 16:55
- Visual Basic(VBA) Sheet1のA列にコードB列にメアド、Sheet2のB列にコード一覧とD列にメアド一覧があり、Sh 3 2022/10/19 11:57
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELでactivexコントロールを...
-
ユーザーフォームで動的(Me.Con...
-
カメラスクロールするのを動画...
-
Excel VBA で Richtextboxを使...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
ListViewのチェックボックスに...
-
フォーム上の現在アクティブな...
-
OCXって何ですか?
-
VBA ユーザーフォームの Keypre...
-
'ckbl' コントロールは作成され...
-
エクセルVBAでオプションボタン...
-
キンドルでの購入が親にバレな...
-
コントロール配列の動的配置に...
-
OLEオートメーションエラー?
-
VBAでドラッグ・アンド・ドロップ
-
アプリケーションのロックについて
-
chr関数の呼び出しで「プロ...
-
無料で使えるグリッドコントロール
-
データコンボボックスを連動さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELでactivexコントロールを...
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
エクセルVBAでオプションボタン...
-
チェックボックスをオンにした...
-
VBA ユーザーフォームの Keypre...
-
chr関数の呼び出しで「プロ...
-
'ckbl' コントロールは作成され...
-
ExcelVBAでListViewが使用できない
-
全てのオブジェクトのプロパテ...
-
vb.netで画面のコントロールId...
-
間違えて配置してしまったコン...
-
変数をコントロール型で使用す...
-
エクセル コントロールツール...
-
ユーザーフォームで動的(Me.Con...
-
OCXって何ですか?
-
C#で角が丸いテキストボックス
-
Groupboxの配下のコントロール...
-
Labelコントロールの(左右)余...
-
excel vbaでユーザーフォームに...
おすすめ情報