• 締切済み

ご指導願います。

どなたが教えてください。 エクセルのVBAです。 dim row as Integer for row = 1 to 65535 if (selectSheet.Cells(1, row) = "") then selectSheet.Cells(1, row) = "#####" EndIf をアレンジしたいのです。 上記のプログラムが構築されているコマンドボタンと同じuserformにオプションボタンを5個、コンボボックスを一つ作りました。 オプションボタン1を選択するとコンボボックスにはあ行が。 オプションボタン2を選択するとコンボボックスにはか行が。 オプションボタン3を選択するとコンボボックスにはさ行が。 オプションボタン4を選択するとコンボボックスにはた行が。 オプションボタン5を選択するとコンボボックスにはな行が。 選択できるようにしたいのです。 次に選んだオプションボタンと同名前のシートに上記の#####が入力されるようにしたいのですが、どのようにすればいいのですか? また、違うuserformでもオプションボタンで選択したシートに記入されるように選択の保持ですか? そういったことは可能なのでしょうか? どなたか教えてください。

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

大雑把にこんな感じでしょうか? Public myop As Integer 'オプション選択保持用 Private Sub CommandButton1_Click() Dim row As Integer Dim mykey As String '比較キー '選択したオプションボタンにより '比較キーと選択保持用変数に各値を代入 Select Case True Case OptionButton1: mykey = "[あ-お]*": myop = 1 Case OptionButton2: mykey = "[か-こ]*": myop = 2 Case OptionButton3: mykey = "[さ-そ]*": myop = 3 Case OptionButton4: mykey = "[た-と]*": myop = 4 Case OptionButton5: mykey = "[な-ほ]*": myop = 5 Case Else: myop = 0 End Select If myop = 0 Then Exit Sub For row = 1 To 65535 If ActiveSheet.Cells(1, row).Value Like mykey Then ActiveSheet.Cells(1, row) = "#####" End If Next row End Sub 以上参考まで

stan1225
質問者

補足

返答ありがとうございます。 参考にさせて頂きます。 流用もしたいのですが、お恥ずかしいことに私はあまりVBAの知識が御座いません。 そこでご教授頂いたコードについて何点か伺ってもよろしいでしょうか? Public myop As Integer 'オプション選択保持用 ですが、これは他のuserformにもオプション選択が保持されるためのコードでしょうか? Case OptionButton1: mykey = "[あ-お]*": myop = 1 ここの[あ-お]*がよくわかりません・・・。 申し訳ありません。 例ではあ行と致しましたが、実際には何の規則性もない項目がいくつか入ります。 他のシートなどに記載してそこをコンボボックスで表示するように考えていますが、どのようにすればよろしいのでしょうか? If myop = 0 Then Exit Sub これは一体なんのためでしょうか? dim row as Integer for row = 1 to 65535 if (selectSheet.Cells(1, row) = "") then この空白セル検索のコードはどこに挿入すればいいのでしょうか? 未熟者で大変申し訳ありませんが、よろしくお願い致します。

関連するQ&A