エクセルの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を選択するとコンボボックスにはな行が。
選択できるようにしたいのです。
次に選んだオプションボタンと同名前のシートに上記の#####が入力されるようにしたいのですが、どのようにすればいいのですか?
このように教えて頂きました。
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
これを流用して自分でいじりたいのですが、私が未熟ですので、コードの意味、役割がさっぱりわかりません。
わがままな質問ではございますが、どなたか上記のコードの意味を教えて頂けませんか?
よろしくお願い致します。
お礼
早速のご回答ありがとうございました。 参考にさせていただきます。