- ベストアンサー
Excel2003で図形の表示と非表示をプログラムする方法
- Excel2003で簡単な図形の表示と非表示のプログラムを作成する方法を解説します。
- UserForm1を使用して、オプションボタンをクリックすると、図形の表示と非表示が切り替わるようなプログラムを作成することができます。
- ワークシート1の楕円図形1と図形2を表示・非表示する方法と、ワークシート2の楕円図形3と図形4を表示・非表示する方法を詳しく説明します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下は、Index になっていますから、位置は、左から右、上から下の順序になって、表示のオン・オフが決まります。UserForm のShowModal は、False のほうがよいと思います。 '// Private Sub OptionButton1_Click() Call isOvalVisible(True) End Sub Private Sub OptionButton2_Click() Call isOvalVisible(False) End Sub Private Sub isOvalVisible(flg As Boolean) Dim shp As Shapes Dim i As Long With ActiveSheet Application.ScreenUpdating = False On Error Resume Next For i = 1 To .Ovals.Count If i Mod 2 Then .Ovals(i).Visible = flg Else .Ovals(i).Visible = Not flg End If Next On Error GoTo 0 Application.ScreenUpdating = True End With End Sub
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
それぞれのシートをアクティブにしてから操作することになりますね。 Private Sub OptionButton1 Click() Worksheets("Sheet1").Activate ActiveSheet.Shapes("Oval 1").Visible=True 'ワークシート1の楕円図形1表示 ActiveSheet.Shapes("Oval 2").Visible=False 'ワークシート1の楕円図形2非表示 Worksheets("Sheet2").Activate ActiveSheet.Shapes("Oval 3").Visible=True 'ワークシート2の楕円図形3表示 ActiveSheet.Shapes("Oval 4").Visible=False 'ワークシート2の楕円図形4非表示 End Sub Private Sub OptionButton2 Click() Worksheets("Sheet1").Activate ActiveSheet.Shapes("Oval 1").Visible=False 'ワークシート1の楕円図形1非表示 ActiveSheet.Shapes("Oval 2").Visible=True 'ワークシート1の楕円図形2表示 Worksheets("Sheet2").Activate ActiveSheet.Shapes("Oval 3").Visible=False 'ワークシート2の楕円図形3非表示 ActiveSheet.Shapes("Oval 4").Visible=True 'ワークシート2の楕円図形4表示 End Sub
お礼
助かりました、有難う御座います。
お礼
大変参考になりました。 VBAは勉強中で解らない記述がありますが、解析し参考にしたいと思います。 有難うございました。