Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : その他)
バージョンアップ後のオプションボタンについて
投稿日時: 21/06/30 11:38:26
投稿者: エクセレント

いつもお世話になっております。
 
 OS win xp → win10
 エクセル 2000 → 365MSO
 
上記のようにバージョンが変わりましたが、正常に動作しません。
 
チェックしたオプションボタンの名称(Caption)をセルの D列 に表示させます。
エラーは出ませんが、セルが空白のままになります。
 
オプションボタンをチェックボックスに変えてみると正常に動作します。
 
よろしくお願いいたします。
 
 Dim c As MSForms.Control
    Dim Buf() As String
    Buf = Split("")
    For Each c In Me.Controls
        If TypeOf c Is MSForms.CheckBox Then
        ElseIf TypeOf c Is MSForms.OptionButton Then
         
            If c.Value Then
                ReDim Preserve Buf(UBound(Buf) + 1)
                Buf(UBound(Buf)) = c.Caption
            End If
        End If
    Next
     
     
       If Range("D2").Value = "" Then
          Range("D2").Value = Join(Buf, " , ")
       Else
          Range("D" & Range("D" & Rows.Count).End(xlUp).Row + 1) = Join(Buf, " , ")
       End If

回答
投稿日時: 21/06/30 13:11:43
投稿者: 半平太

> If TypeOf c Is MSForms.CheckBox Then
 
何の為にそのステートメントを入れているのですか?
 
OptionButtonがそこでも真になっちゃうので、無視された形になるんだと思いますが。

投稿日時: 21/06/30 15:34:49
投稿者: エクセレント

半平太さま
回答ありがとうございます。
 
> If TypeOf c Is MSForms.CheckBox Then
消したら動作しました。
 
前任者の作成なので何の為に入っていたかは分かりませんが、
古いバージョンでは正常動作するのですね。
 
大変助かりました。