删除excel中包含由公式驱动的特定文本的单元格

时间:2017-06-01 16:38:54

标签: excel vba excel-vba

并非所有使用VBA但在excel中我正在创建一个程序,该程序接收由我们的计算机系统生成的报告。然后,它组织请求工厂,材料描述,然后按日期的数据集。在它完成后,我在其他三个选项卡中有一个If语句,它将引入我需要的特定数据。一个选项卡用于一个工厂,第二个选项卡用于工厂二,第三个选项卡用于所有外部订单。 if语句如下:

=IF('Copy Here'!J2="3530",'Copy Here'!B2,"")

这适用于第一个选项卡(工厂1),因为它的组织方式工厂1始终位于原始选项卡的顶部。但是,当我转到下一个选项卡并尝试同样的If语句时,第一个“N”行为空,然后它开始复制我想要的信息。我打算插入代码来删除空白单元格,但猜猜是什么,我不能,因为所有那些超出我想要的信息的单元格都有一个公式。

我不知道该怎么办请帮助,它需要保持尽可能简单。下面是目前为止编写的VBA代码。

Sub Sorting()

ActiveWorkbook.Worksheets("Copy Here").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Copy Here").Sort.SortFields.Add Key:=Range("J2:J467") _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Copy Here").Sort.SortFields.Add Key:=Range("K2:K467") _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Copy Here").Sort.SortFields.Add Key:=Range("A2:A467") _
    , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Copy Here").Sort
    .SetRange Range("A1:K467")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Columns("D:D").EntireColumn.AutoFit
Columns("D:D").EntireColumn.AutoFit
Columns("E:E").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Columns("G:G").EntireColumn.AutoFit
Columns("H:H").EntireColumn.AutoFit
Columns("I:I").EntireColumn.AutoFit
Columns("J:J").EntireColumn.AutoFit
Columns("K:K").EntireColumn.AutoFit
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("3510").Select
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Columns("D:D").EntireColumn.AutoFit
Columns("E:E").Select
Range("E2").Activate
Columns("E:E").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Columns("G:G").EntireColumn.AutoFit
Columns("H:H").EntireColumn.AutoFit
Columns("I:I").EntireColumn.AutoFit
Columns("J:J").EntireColumn.AutoFit
Columns("K:K").EntireColumn.AutoFit

Sheets("3530").Select
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Columns("D:D").EntireColumn.AutoFit
Columns("E:E").Select
Range("E2").Activate
Columns("E:E").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Columns("G:G").EntireColumn.AutoFit
Columns("H:H").EntireColumn.AutoFit
Columns("I:I").EntireColumn.AutoFit
Columns("J:J").EntireColumn.AutoFit
Columns("K:K").EntireColumn.AutoFit

Sheets("EXTERNAL").Select
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Columns("D:D").EntireColumn.AutoFit
Columns("E:E").Select
Range("E2").Activate
Columns("E:E").EntireColumn.AutoFit
Columns("F:F").EntireColumn.AutoFit
Columns("G:G").EntireColumn.AutoFit
Columns("H:H").EntireColumn.AutoFit
Columns("I:I").EntireColumn.AutoFit
Columns("J:J").EntireColumn.AutoFit
Columns("K:K").EntireColumn.AutoFit


End Sub

0 个答案:

没有答案