我正在努力在一个宏中涵盖我需要做的所有事情-几个小时前我在这里问了一个类似的问题,但得到了答复,但是不幸的是我需要在宏中添加一些功能,因此我不得不对其进行一些修改,现在我需要做一点微调,使我无法上班
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”等。
非常抱歉,我想涵盖所有内容