所以我在新手级别使用VBA,我试图使用此代码查找零值并从我的数据集中删除它们。
Sub delete_empty_cells()
Dim lRow As Long
Dim iCol As Long
Dim iCntr As Long
lRow = 73
iCol = 50
For iCol = 50 To 1 Step -1
For iCntr = lRow To 1 Step -1
If Cells(iCntr, 1) = 0 Then
Range(iCol & iCntr).Delete Shift:=xlUp
End If
Next
Next
End Sub
我的数据集是73乘50,但是大小可以改变,所以解释如何更改解析数据的大小将是恒星。我实际上对这里发生的事情的想法很少,所以任何帮助都会受到赞赏。
答案 0 :(得分:0)
第一个 find and replaces 下面的子项全部为零(与整个单元格匹配),然后使用 SpecialCells 删除所有空白单元格方法;
Option Explicit
Sub FindAndDeleteZeros()
Dim sht As Worksheet
Dim fnd As Variant
Dim rplc As Variant
Dim intCol As Integer
Dim intRow As Integer
fnd = "0"
rplc = ""
Set sht = ActiveSheet
sht.Cells.Replace what:=fnd, Replacement:=rplc, _
LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
intRow = 73
For intCol = 1 To 50 '1st to 50th column
sht.Range(sht.Cells(1, intCol), sht.Cells(intRow, intCol)). _
SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Next intCol
End Sub
查看注释中提供的链接,以避免硬编码模块中的最后一列和最后一行。