VBA查找NAMED列和过滤器-接近工作的宏

时间:2018-08-30 15:57:54

标签: excel vba

我正在努力在一个宏中涵盖我需要做的所有事情-几个小时前我在这里问了一个类似的问题,但得到了答复,但是不幸的是我需要在宏中添加一些功能,因此我不得不对其进行一些修改,现在我需要做一点微调,使我无法上班

Sub BoBTEST()
Dim c As Range

    For Each c In Range("A1:BR1").Cells
        If c.Value = "Plate Name (barcode)" Or c.Value = "Measurement Date" Or c.Value = "Measurement profile" Or c.Value = "pH" Or c.Value = "Count" Or c.Value <= 30 Then
            c.EntireColumn.Hidden = False
        Else: c.EntireColumn.Hidden = True
        End If
        Next c
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range( _
        "AF2:AF1761"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range( _
        "AN2:AN1761"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range( _
        "J2:J1761"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:BR1761")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

    Range("A1:BR1761").Select
    Range("AT9").Activate
    Selection.AutoFilter
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$BR$1761").AutoFilter Field:=32, Criteria1:= _
        "=Shear Rated(gamma)/dt = 4 1/s", Operator:=xlOr, Criteria2:="="
    ActiveSheet.Range("$A$1:$BR$1761").AutoFilter Field:=40, Criteria1:= _
        "=Viscosity", Operator:=xlOr, Criteria2:="="
End Sub

到目前为止,基本上所做的是获取从机器人导出的数据,隐藏我不想要的列并过滤不想要的值

问题在于这些列是动态的,偶尔会移动-宏能够隐藏我不想要的所有列,但是我正在努力使其搜索这些列然后进行过滤,现在它正在使用我做过的录音,因此它选择了J列,然后过滤

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range( _
    "J2:J1761"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal

但是它可能不在J列上,而可能在K上,因为导出数据时偶尔会输入更多列

是否有任何方法可以调整宏以使其成为宏,因此自动过滤器部分实际上是在搜索列标题,而不是在例如“ J2:J2000”等。

非常抱歉,我想涵盖所有内容

0 个答案:

没有答案