列Dをハイライト表示しようとするたびに、「実行時エラー '13'」が表示されます。デバッグをクリックすると、この部分がコードIf Target.Value = "Closed" Or Target.Value = "Closed" Then
からハイライトされます。この問題を解決する方法についてアドバイスをいただければ幸いです。実行時エラー13行全体をハイライト表示するとき
編集*
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim wsd As Worksheet
Dim wsc As Worksheet
Application.ScreenUpdating = False
Set wsd = Sheets("Pipeline")
Set wsc = Sheets("Closed")
If Not Intersect(Target, Range("D6:D65536")) Is Nothing Then
If Target.Value = "Closed" Or Target.Value = "Closed" Then
erow = Target.Row
MsgBox "Moved to Closed"
numberofrow = wsc.Range("A65536").End(xlUp).Row
For i = 1 To numberofrow
If wsd.Cells(erow, 1) = wsc.Cells(i, 1) Then
Exit Sub
End If
Next
wsd.Range("A" & erow & ":A" & erow).EntireRow.Copy wsc.Range("A" & numberofrow + 1)
With Target.Parent
Union(.Range(.Cells(Target.Row, "A"), .Cells(Target.Row, "V")), _
.Range(.Cells(Target.Row, "Y"), .Cells(Target.Row, .Columns.Count))).ClearContents
`enter code here`End With
wsc.Activate
ActiveSheet.Range("A2:D" & numberofrow + 1).Select
ActiveWorkbook.Worksheets("Closed").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Closed").Sort.SortFields.Add Key:=Range("C2:C" & numberofrow + 1), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Closed").Sort
.SetRange Range("A2:D" & numberofrow + 1)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
wsd.Activate
End If
End If
End Sub
私はそれはかなり醜いだ理由である、この作業を取得するために、一緒にいくつかのことをピースに持っていました。私はガード句をどこに置くべきか分からなかった。これまでのところ、実行時エラーを除いて必要なものに対しては、列Dに入力されたセールスステージに基づいてアカウントを別のシートに転送していました。再度、すべてのサポートに感謝します。
イベントハンドラにガード句を追加します: 'If Target.Cells.Count = 1'。 – Comintern
また、なぜ同じ条件が2回あるのですか? – BruceWayne
Worksheet_SelectionChangeイベント・マクロを改善して、ワークシート上で何かを実行するたびに起動しないようにする必要があります。 – Jeeped