在Excel中删除单元格

时间:2018-10-17 10:11:51

标签: excel excel-2010

我有一个excel表,如果三列具有相同数据,我想删除第二和第三列。我可以写4.列,这些列的数据相同或不同,但是我不能先设置1. 2.或3.列数据

= IF((AND(A1 = B1; B1 = C1));“相同”;“不同”)

a   b   c

a   b   b

a   a   a

a   b   c

a   b   b

a   

2 个答案:

答案 0 :(得分:1)

您可以将其放入新模块中,但是该宏将在Active Sheet上运行:

 Sub DeleteCells()
 Dim intResponse, i As Integer

 i = 1

 intResponse = MsgBox("Are you sure you want " & _
 "to delete the cells?", vbYesNo)

 If intResponse = vbYes Then
 Do While Cells(i, 1).Value <> "" 'does it one by one going down in the first column while the cell is not empty


    If (Cells(i, 1) = Cells(i, 2)) And (Cells(i, 1) = Cells(i, 3)) Then
    Cells(i, 2).Value = ""
    Cells(i, 3).Value = ""
    End If
    i = i + 1


 Loop

 End If
End Sub

答案 1 :(得分:1)

可以使用公式,但比VBA乏味。例如,在E1中复制到G1,然后将E1:G1复制到合适的位置:

=IF(COUNTIF($A1:$C1,A1)<>3,A1,IF(COLUMN()=5,A1,""))

然后在顶部复制,粘贴特殊字符,值,并删除A:D列。

或者标记三个值相同的行(例如复制=COUNTIF(A1:C1,A1)以适合),然后过滤该列以选择3并清除ColumnsB:C中的值(而不是标题行)。