上のボックスをチェックしてください私は、ユーザーフォームを使用して特定のワークシート内の特定のデータを表示しようとしています。VBA - ループオプションボタン&ユーザーフォーム
ユーザーフォーム(オプションボタンが選択されている)、新しいブックが開き、特定のブックに選択されたデータ(チェックボックスが選択されている)が表示されます。
6つのオプションボタンと6つのチェックボックスがあります。開いたワークシートは、オプションボタンのプリファレンスに基づいており、チェックボックスで選択した内容に応じて、そのトピックに関連付けられたデータがワークシートに表示されます。
どうすればループオプションボタンと「選択」しているユーザーフォームとキャプチャにチェックボックスをオンにしますか?選択されたチェックボックスから(ワークシートで)表示
データは、例えば、選択されたオプションボタンに依存します私は金融(オプションボタン)を選んだ、と私は(チェックボックスをオン)写真とビデオを選択した場合、私は、適切なワークシート上のものの選択に固有のデータを表示したいと思います。ここで
は、私がこれまで持っているものである:ここでは
Private Sub cmdNext_Click()
'declare variables
Dim strFinancial As String, strFamily As String, strSadness As String,
strSchool As String, strRelationship As String, strTime As String
Dim shtFinancial As Worksheet, shtFamily As Worksheet, shtSadness As
Worksheet, shtSchool As Worksheet, shtRelationship As Worksheet,
shtTime As Worksheet, shtData As Worksheet
shtFinancial = Workbooks("PROJECT.xlsm").Worksheets("Financial")
shtTime = Workbooks("PROJECT.xlsm").Worksheets("Time")
shtFamily = Workbooks("PROJECT.xlsm").Worksheets("Family")
shtSadness = Workbooks("PROJECT.xlsm").Worksheets("Sadness")
shtSchool = Workbooks("PROJECT.xlsm").Worksheets("School")
shtRelationship = Workbooks("PROJECT.xlsm").Worksheets("Relationship")
shtData = Workbooks("PROJECT.xlsm").Worksheets("Data")
'set option button selection to string
strFinancial = obFinancial.Value
strFamily = obFamily.Value
strSadness = obSadness.Value
strSchool = obSchool.Value
strRelationship = obRelationship.Value
strTime = obTime.Value
'activate worksheet of chosen stressor (option button)
Select Case True
Case strTime = True
shtTime.activate
Case strFinancial = True
shtFinancial.activate
Case strFamily = True
shtFamily.activate
Case strSadness = True
shtSadness.activate
Case strSchool = True
shtSchool.activate
Case strRelationship = True
shtRelationship.activate
End Select
'ADVICE
'loop through checkboxes HOW ????
'display advice according to option button chosen
If obFinancial.Value = True And Me.cbAdvice.Value = True Then
shtData.Range("A1:A10").Copy Destination:=Sheets("Financial").Range("A1:A10")
End If
If obSadness.Value = True And Me.cbAdvice.Value = True Then
Sheets("Data").Range("A21:A30").Copy Destination:=Sheets("Sadness").Range("A1:A10")
End If
If obSchool.Value = True And Me.cbAdvice.Value = True Then
Sheets("Data").Range("A31:A40").Copy Destination:=Sheets("School").Range("A1:A10")
End If
If obRelationship.Value = True And Me.cbAdvice.Value = True Then
Sheets("Data").Range("A41:A50").Copy Destination:=Sheets("Relationship").Range("A1:A10")
End If
If obTime.Value = True And Me.cbAdvice.Value = True Then
Sheets("Data").Range("A51:A60").Copy Destination:=Sheets("Time").Range("A1:A10")
End If
End Sub
は、ユーザーフォームです:
実際の質問が不明です。 – Jeeped
申し訳ありません、私はそれが大きな疑問であることを知っています! –
オプションボタンとチェックボックスを使用してユーザーフォームをループしようとしています。選択したチェックボックスから表示されるデータは、選択したオプションボタンによって異なります。 –