No.2ベストアンサー
- 回答日時:
> できればセレクトしないでやりたいのですが・・・・。
では、セルの位置に合わせる方法を
Sub test01()
For n = 1 To 10
mlft = Cells(n, 1).Left
mtp = Cells(n, 1).Top
Set opt = ActiveSheet.OptionButtons.Add(mlft, mtp, 48, 16.5)
opt.Name = "Opt" & n
opt.Characters.Text = "Opt" & n
Next n
End Sub
ありがとうございます。
やってみました。
面白いですね!
なるほど、
mlft = Cells(n, 1).Left
mtp = Cells(n, 1).Top
こうやってセルの座標が取得できるんですね。勉強になりました。
No.3
- 回答日時:
オプションボタンを配置させる理由になんらかの座標が存在するはずですから、例えばA列の3(A3)がアクティブになればC3にオプションボタンをつけるなど・・・
そのようなイメージで補足お願いします。
これが分れば質問者さんの思いの通りのロジックが回答できるとおもいますので。
ありがとうございます。
やりたいことはこういうことなんです。
A列のセルに設問を入れます。
D列がYes、Noのオプションボタンとなります。
仮に設問のあるA5をクリックしたら、D5とD6にオプションボタンがふたつともOFFの状態で出現します。
D5をYES、D6をNoとします。
この二つをグループボックスで囲みます。
どちらかを選ぶと、D5に「Yes」または「No」が表示され、ボタンは消え、次にA8セルに質問が浮かび上がり、D8とD6にオプションボタンがふたつともOFFの状態で出現します。
以下、10回ほど繰り返します。
No.4
- 回答日時:
シート1のコードに下記を貼り付けしてみてください。
ベタベタですが、取り合えずこんな感じですか?
Public OpNa1, OpNa2, OpVa1, OpVa2, OlRow
Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ItRow, It1Row, ItCol, Ans
s = Target.Address
If Target.Column = 1 Then
If OpNa1 <> "" Then
ActiveSheet.Shapes(OpNa1).Select
OpVa1 = Selection.Value
ActiveSheet.Shapes(OpNa2).Select
OpVa2 = Selection.Value
End If
a = Target.Row
a1 = a + 1
b = 4 'D列
For i = 1 To a - 1
ItRow = ItRow + Cells(i, 1).Height
Next
For i = 1 To a1 - 1
It1Row = It1Row + Cells(i, 1).Height
Next
For i = 1 To b - 1
ItCol = ItCol + Cells(1, i).Width
Next
If OlRow <> a And OpVa1 < 0 And OpVa2 < 0 Then
ActiveSheet.Shapes(OpNa1).Delete
ActiveSheet.Shapes(OpNa2).Delete
End If
If OpNa1 <> "" Then
If OpVa1 = 1 Or OpVa2 = 1 Then
If OpVa1 = 1 Then
Ans = "Yes"
Else
Ans = "No"
End If
Cells(OlRow, 4).Value = Ans
ActiveSheet.Shapes(OpNa1).Delete
ActiveSheet.Shapes(OpNa2).Delete
End If
End If
ActiveSheet.OptionButtons.Add(ItCol, ItRow, 48, 16.5).Select
OpNa1 = Selection.Name
ActiveSheet.OptionButtons.Add(ItCol, It1Row, 48, 16.5).Select
OpNa2 = Selection.Name
Range(s).Select
End If
ActiveSheet.Shapes(OpNa1).Select
OpVa1 = Selection.Value
ActiveSheet.Shapes(OpNa2).Select
OpVa2 = Selection.Value
Range(s).Select
OlRow = a
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
(Excel)あるセルに文字を入力...
-
Rangeメソッドは失敗しました。...
-
エクセルで条件に一致したセル...
-
エクセルのシート間で連続した...
-
エクセルで別シートからの最大...
-
セルの値と同じ名前のシートを...
-
Excelでスクロールすると文字が...
-
エクセルでシート保護をかける...
-
エクセルで指定のセルのみ完全...
-
エクセルで20万行あるシート...
-
複数シートの同じセル内容を1シ...
-
エクセルで、勤務表から 日付...
-
Excelで複数シートの選択セルを...
-
エクセルVBA 最終行を選んで並...
-
Excelのファイル容量が減らない...
-
エクセルのルビがついたセルを...
-
エクセルで特定の文字を打つと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
エクセルで条件に一致したセル...
-
エクセルで1月0日と表示される!!
-
(Excel)あるセルに文字を入力...
-
別シートのセルを絶対参照にする
-
Rangeメソッドは失敗しました。...
-
Excelシートの保護時にデータの...
-
複数シートの同じセル内容を1シ...
-
エクセルで、加筆修正したセル...
-
シート参照で変数を使いたい(EX...
-
エクセルで複写のように自動入...
-
Excelで複数シートの選択セルを...
-
INDIRECTを使わず excelで複数...
-
ExcelでTODAY関数を更新させな...
-
式の説明をお願いします。
-
excelでハイパーリンクになって...
-
エクセルのルビがついたセルを...
-
Excelでスクロールすると文字が...
-
エクセル ハイパーリンクで画像...
おすすめ情報