1
由於某些原因,當我使用插入行代碼時,它會一直插入一個新行!我編寫的代碼在開始時有一個do while循環遍歷C列中的所有單元格,當它碰到列C中的單元格時,它是空的,然後變量保持單元格編號。不需要的插入行無限循環
然後我寫了另一個子程序(當電子表格中的某些內容發生變化時被調用),如果在列C中的空單元格中寫入某些內容,則插入新行。但它會一直持續下去!
下面的代碼是一個模塊
Dim a, count As Integer
Sub check()
a = 0
count = 3
Do While a = 0
count = count + 1
If Range("C" & count).Value = "" Then
a = 1
End If
Loop
End Sub
Sub addrow()
If Range("C" & count).Value <> "" Then
Range("C" & count).Offset(1).EntireRow.Insert
count = count + 1
With Range("B" & count, "AL" & count)
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
End With
End If
End Sub
之下,這個代碼是在工作表
Private Sub Worksheet_Change(ByVal Target As Range)
addrow
End Sub
和子程序下的「檢查」工作簿打開時被調用。
我不知道爲什麼有一個無限循環!請幫忙。
謝謝
在'私人小組Worksheet_Change'事件添加'應用。在'addrow'之前的'EnableEvents = False'和'Addrow'之後的'Application.EnableEvents = True'。原因很簡單 - worksheet_change事件插入新行,插入行觸發worksheet_change事件。 W_change事件插入新行,依此類推。無限循環:) –
歡迎來到遞歸:-)你的更改事件由模塊本身觸發。做什麼@simoco建議 –
非常感謝 – HumanlyRespectable