シート上のすべてのスパークラインを見つける
次のコード例では、ユーザー フォームのリスト ボックスを使用して、アクティブ シートにスパークライン グループをすべて表示します。 リスト ボックス内のスパークライン グループの 1 つをクリックすると、そのスパークライン グループがシート上で選択されます。
この例では、SparklineForm というユーザー フォームと、そのユーザー フォーム上に SparklineListBox というリスト ボックスおよび CloseBtn というボタンが必要です。
Visual Basic Editor で、モジュールを挿入し、次のコードをコピーして貼り付けます。 このコードによって、ユーザー フォームが表示されます。
Sub ShowUserForm()
SparklineForm.Show
End Sub
Visual Basic Editor で、[SparklineForm] フォームを右クリックし、[コードの表示] を選択して、次のコードをコピーして貼り付けます。 UserForm_Activate プロシージャが、アクティブ シート上のすべてのスパークライン グループを処理し、Range オブジェクトの Address プロパティを使用してスパークライン グループのアドレスを取得します。 アドレスは、リスト ボックスに追加されます。 リスト ボックスのスパークライン グループのアドレスをクリックすると、SparklineListBox_Click プロシージャが呼び出されます。 このプロシージャは、Range オブジェクトの Activate メソッドを使用して、シートで選択されたスパークライン グループを有効にします。 ユーザー フォームのボタンをクリックすると、CloseBtn_Click プロシージャが呼び出され、ユーザー フォームが閉じられます。
Private Sub UserForm_Activate()
'The sparkline group
Dim oSparkGroup As SparklineGroup
'Loop through all the sparkline groups on the sheet
For Each oSparkGroup In ActiveSheet.Range("A:XFD").SparklineGroups
'For each sparkline group found, add the address to the listbox
SparklineListBox.AddItem oSparkGroup.Location.Address(, , , True)
Next oSparkGroup
End Sub
Private Sub SparklineListBox_Click()
'Activate the selected range that has the sparklines
Range(SparklineListBox.Value).Activate
End Sub
Private Sub CloseBtn_Click()
'Close the userform
Unload Me
End Sub
関連項目
Excel でのSparklineGroup オブジェクト プログラミング
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示