UPDATE:刪除整個行其列包含0,Excel 2007中VBA
好了,所以我用下面的代碼和它做什麼,我需要做的,即檢查是否值是0,如果它是,然後刪除整個行。但是,我想要在一個工作簿內一次處理多個工作表。以下代碼的作用是,它僅從當前電子表格中刪除零,當您通過VBA腳本打開Excel時,該零表格默認處於活動狀態。這裏的工作零清除代碼:
Dim wsDCCTabA As Excel.Worksheet
Dim wsTempGtoS As Excel.Worksheet
Set wsDCCTabA = wbDCC.Worksheets("Login")
Set wsTempGtoS = wbCalc.Worksheets("All_TemporaryDifferences")
Dim LastRow As Long, n As Long
LastRow = wsTempGtoS.Range("E65536").End(xlUp).Row
For n = LastRow To 1 Step -1
If Cells(n, 5).Value = 0 Then
Cells(n, 5).EntireRow.Delete
End If
Next
我在做什麼錯了?當我爲同一個工作簿中的另一個工作表做同樣的事情時,它不會做任何事情。我正在使用以下代碼從anohter工作表中刪除零:
Set wsPermGtoS = wbCalc.Worksheets("All_PermanentDifferences")
'delete rows with 0 description
Dim LastRow As Long, n As Long
LastRow = wsPermGtoS.Range("E65536").End(xlUp).Row
For n = LastRow To 1 Step -1
If Cells(n, 5).Value = 0 Then
Cells(n, 5).EntireRow.Delete
End If
Next
有什麼想法?或另一種做同樣的事情?
原題:
我想刪除所有在特定的列具有零行。我使用下面的代碼,但好像沒有什麼改變:
CurrRow = (Range("E65536").End(xlUp).Row)
For Count = StartRow To CurrRow
If wsDCCTabA.Range("E" & Count).Value = "0" Then
wsDCCTabA.Rows(Count).Delete
End If
Next
StartRow
包含起始行值 CurrRow
包含上次使用的行的行值
我認爲你的意思是VBA(Excel內)而不是'vbscript'。問題重新標記 – brettdj 2012-04-18 02:30:26
嘗試逐行調試(F8)並檢查每個變量的值。 – CaBieberach 2012-04-18 08:06:54