Vba 无法让宏识别单元格值

Vba 无法让宏识别单元格值,vba,excel,Vba,Excel,在下面的脚本中,它扫描一张工作表并将提取值,删除不符合“M”列中设置条件的值。如果我修正了标准(在下面的“MIGS不可用”),我可以让它工作,但是如果我尝试将它引用回一个单元格(AI1)作为标准,它要么提取所有记录,要么不提取任何记录 请帮助它将单元格中的值作为脚本中的标准 Sub QuickCombine_MIGS() Dim ws1 As Worksheet Dim ws2 As Worksheet Dim rng1 As Range Dim strShts() Dim strWs As V

在下面的脚本中,它扫描一张工作表并将提取值,删除不符合“M”列中设置条件的值。如果我修正了标准(在下面的“MIGS不可用”),我可以让它工作,但是如果我尝试将它引用回一个单元格(AI1)作为标准,它要么提取所有记录,要么不提取任何记录

请帮助它将单元格中的值作为脚本中的标准

Sub QuickCombine_MIGS()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim rng1 As Range
Dim strShts()
Dim strWs As Variant
Dim lngCalc As Long

With Application
.ScreenUpdating = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
End With

Set ws1 = Sheets("MIGS-Datasheet")
ws1.UsedRange.Cells.Clear
strsub = Sheets("MIGS").Range("AI2").Value
strsub2 = Sheets("MIGS").Range("AI1").Value
strShts = Array(strsub)
For Each strWs In strShts
On Error Resume Next
Set ws2 = Sheets(strWs)
On Error GoTo 0
If Not ws2 Is Nothing Then
Set rng1 = ws2.Range(ws2.[v8], ws2.Cells(Rows.Count, "v").End(xlUp))
rng1.EntireRow.Copy ws1.Cells(ws1.Cells(Rows.Count, "v").End(xlUp).Offset(1, 0).Row, "A")
End If
Set ws2 = Nothing
Next
With ws1
    .[v1] = "dummy"
    .Columns("M").AutoFilter Field:=1, Criteria1:="<>MIGS Unavailable"
    .Rows.Delete
.Rows("1").Insert
End With
With Application
.ScreenUpdating = True
.Calculation = lngCalc
End With
End Sub
Sub-QuickCombine_MIGS()
将ws1设置为工作表
将ws2设置为工作表
变暗rng1 As范围
Dim strShts()
作为变体的Dim STRW
变暗lngCalc尽可能长
应用
.ScreenUpdate=False
lngCalc=.Calculation
.Calculation=xlCalculationManual
以
设置ws1=图纸(“MIGS数据表”)
ws1.UsedRange.Cells.Clear
strsub=板材(“MIG”).范围(“AI2”).值
strsub2=板材(“MIG”).范围(“AI1”).值
strShts=阵列(strsub)
对于strShts中的每个STRW
出错时继续下一步
设置ws2=图纸(STRW)
错误转到0
如果不是,那么ws2什么都不是
设置rng1=ws2.Range(ws2[v8],ws2.Cells(Rows.Count,“v”).End(xlUp))
rng1.EntireRow.Copy ws1.Cells(ws1.Cells(Rows.Count,“v”).End(xlUp).Offset(1,0).Row,“A”)
如果结束
设置ws2=无
下一个
使用ws1
[v1]=“虚拟”
.列(“M”)。自动筛选字段:=1,标准1:=“MIG不可用”
.Rows.Delete
.行(“1”)。插入
以
应用
.ScreenUpdate=True
.计算=lngCalc
以
端接头

您的问题无法重现
.Columns(“M”)。自动筛选字段:=1,准则1:=”&.Range(“AI1”)。值
对我的作用与
.Columns(“M”)。自动筛选字段:=1,准则1:=“MIGS Unavailable”
如果
AI1
包含“MIGS Unavailable”。您的问题无法重现
.Columns(“M”)。自动筛选字段:=1,准则1:=”“&.Range(“AI1”)。值
对我的作用与
.Columns(“M”)。自动筛选字段:=1,准则1:=“MIGS Unavailable”
如果
AI1
包含“MIGS Unavailable”。