Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何删除包含零的特定多列?_Excel_Vba - Fatal编程技术网

Excel 如何删除包含零的特定多列?

Excel 如何删除包含零的特定多列?,excel,vba,Excel,Vba,是否有任何方法可以自动删除特定列中的零而不是手动单击并删除在这种情况下以电压为标题的列?因为我现有的代码没有引用下面的代码,所以在第7行和第8行中经常会生成不需要的零,我想去掉它们以减少混淆。我的代码不会导致任何错误,但它只是无法清除突出显示行中的零 这是我的密码: Sub deletingstuff() Dim i As Integer Dim sht As Worksheet Dim myrange As Range Dim lastrow As Long Dim LastColumn A

是否有任何方法可以自动删除特定列中的零而不是手动单击并删除在这种情况下以电压为标题的列?因为我现有的代码没有引用下面的代码,所以在第7行和第8行中经常会生成不需要的零,我想去掉它们以减少混淆。我的代码不会导致任何错误,但它只是无法清除突出显示行中的零

这是我的密码:

Sub deletingstuff()

Dim i As Integer
Dim sht As Worksheet
Dim myrange As Range
Dim lastrow As Long
Dim LastColumn As Long

Set sht = ThisWorkbook.Sheets("Result")
LastColumn = sht.Cells(1, sht.Columns.Count).End(xlToLeft).Column
lastrow = sht.Cells(sht.Rows.Count, "C").End(xlUp).Row

For i = 1 To LastColumn
With sht
If sht.Cells(1, i).Value = "Voltage" & sht.Cells(lastrow + 1, i).Value = 0 Then
Selection.Offset(1, 0).Select
ActiveCell.ClearContents
Selection.Offset(1, 0).Select
ActiveCell.ClearContents
End If
End With
Next

End Sub
请试试这个:

Sub deletingstuff()

Dim i As Long
Dim sht As Worksheet
Dim myrange As Range
'Dim lastrow As Long
Dim LastColumn As Long

Set sht = ThisWorkbook.Sheets("Result")
LastColumn = sht.Cells(1, sht.Columns.count).End(xlToLeft).Column
'lastrow = sht.Cells(sht.Rows.count, "C").End(xlUp).Row

For i = 1 To LastColumn
    With sht
        If sht.Cells(1, i).Value = "Voltage" Then
            If sht.Cells(7, i) = 0 Then sht.Cells(7, i).Clear
            If sht.Cells(8, i) = 0 Then sht.Cells(8, i).Clear
        End If
    End With
Next

End Sub

只是一个问题,但是:因为我现有的代码没有引用下面的代码,所以在第7行和第8行中经常会生成不需要的零,我想去掉它们以减少混淆。你不想试着解决这个问题吗=如果我们理解,你只想清除行7和8中的零值,使其标题=电压的列?@ JVDV OK以前,当我试图使特定列标签中的负值作为绝对值时,就会出现不必要的零点,这将导致空白单元格产生零值。我真的不知道如何解决这个问题,所以我想用Vba来消除零。@FaneDuru-yup!!正如@JvdV所说,处理实际问题的根源是一种更好的做法。除此之外,请避免使用ActiveCell和.Selection。始终明确引用单元格。需要清除的单元格是sht.cellsastrow+1,i和sht.cellsastrow+2,i。