Excel VBA-在标记为3个字符长度的工作表中进行过滤

时间:2018-11-30 15:02:45

标签: excel vba excel-vba

请协助编写数组的vba代码,其中在工作簿中需要3个字符的工作表才能运行此命令:

例如,如果工作表被标记为:ATE,ARE,FOR,ETC,则将对其进行过滤。如果工作表被标记为多于或少于3个字母,则忽略。希望这样可以解决问题。谢谢。

从以下代码收到错误:

编译错误:限定词无效。

  

public void ConfigureServices(IServiceCollection services)
{
    services.AddResponseCompression(options =>
    {
        var gzip = options.Providers.OfType<GzipCompressionProvider>().FirstOrDefault();
        if (gzip != null)
        {
            options.Providers.Remove(gzip);
        }
    });
}

2 个答案:

答案 0 :(得分:0)

您引用错误。

wsName =字符串。这意味着您仅复制工作表的名称。

您要创建的引用是“ Sheet1” .Range()。action

那是不合适的语法。这将是适当的:

Sheets(wsName).Range().Action

答案 1 :(得分:0)

感谢西里尔。

这是工作代码:

    Dim N As Long
    Dim wsName As String
    For N = 1 To ThisWorkbook.Sheets.Count
    wsName = ThisWorkbook.Worksheets(N).Name
    If Len(wsName) = 3 Then

    Sheets(wsName).Range("$A$1:$XFC$1104").AutoFilter Field:=12, Criteria1:=">=365" _
        , Operator:=xlAnd
    Sheets(wsName).Range("$A$1:$XFC$1104").AutoFilter Field:=17, Criteria1:=">100" _
        , Operator:=xlAnd
    Else 'Do Nothing
    End If
Next N