VBAコードを使用しています。これは、セルセレクタの移動に合わせてアクティブセルの境界線の色を強調表示します。私は私のワークシートの列ヘッダを右クリックするとサブタイトルでExcel 2013が動作しなくなる
コードが
Private mOutline As Shape
Private Const SelectedShapeName As String = "Selection Box"
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim SelectedShape As Shape
Dim SelectedArea As Range
On Error Resume Next
For Each SelectedShape In Sh.Shapes
If SelectedShape.Name = SelectedShapeName Then
SelectedShape.Delete
End If
Next SelectedShape
For Each SelectedArea In Selection.Areas
Set mOutline = ActiveSheet.Shapes.AddShape(msoShapeRectangle, SelectedArea.Left, SelectedArea.Top, SelectedArea.Width, SelectedArea.Height)
With mOutline.OLEFormat.Object.ShapeRange
.Fill.Visible = msoFalse
.Line.ForeColor.RGB = RGB(255, 0, 0)
.Line.Transparency = 0
.Line.Weight = 3
End With
mOutline.Name = SelectedShapeName
Next SelectedArea
On Error GoTo 0 End Sub
で、Excelが突然動作を停止して存在しています。
このエラーの原因を知っている人は誰でも知っていますか?あれば、これを避けるためにコードを修正する方法はありますか?
ありがとうございます。
エラー時に '取り出しNext'を再開し、デバッガでステップ実行します。どのラインがクラッシュを引き起こしますか? – Comintern
'mOutline = ActiveSheet.Shapes.AddShape(msoShapeRectangle、SelectedArea.Left、SelectedArea.Top、SelectedArea.Width、SelectedArea.Height)行で、実行時エラー '1004'"特定の値が範囲外です " ' –
「列見出しを右クリックする」と言うときは、*セル*または列選択領域を参照していますか? – Comintern