Excel “范围”列,并向特定范围添加值

Excel “范围”列,并向特定范围添加值,excel,vba,Excel,Vba,我有一个Excel文件,我想筛选一列,并在另一列上添加特定值 另外,如何过滤一列空白单元格,并在另一列上添加特定值“other” [ 例如,如果缺少三星设备表,可以写入哪些条件? 因为如果我运行代码,它会在寻找三星时崩溃 我怎么做? 感谢您的帮助!若要仅更改可见单元格(即过滤器中显示的单元格)的值,您可以使用特殊单元格(xlCellTypeVisible) 因此,对于您的示例,在第一次中断时使用的代码是 范围(“B2:B18”)。特殊电池(xlCellTypeVisible)。Value=“

我有一个Excel文件,我想筛选一列,并在另一列上添加特定值

另外,如何过滤一列空白单元格,并在另一列上添加特定值“other”

[

例如,如果缺少三星设备表,可以写入哪些条件? 因为如果我运行代码,它会在寻找三星时崩溃

我怎么做?
感谢您的帮助!

若要仅更改可见单元格(即过滤器中显示的单元格)的值,您可以使用
特殊单元格(xlCellTypeVisible)

因此,对于您的示例,在第一次中断时使用的代码是

范围(“B2:B18”)。特殊电池(xlCellTypeVisible)。Value=“三星”

第二次突破呢

范围(“B2:B18”)。特殊单元格(xlCellTypeVisible)。Value=“Apple”

您需要将“18”更改为最后一行(或者您可以定义一个名为LastRow的变量,然后调用它,而不是硬编码数字,这意味着它将根据有多少行动态更改)


和拉斯特罗

Sub Macro1()

 Dim LastRow As Long
  LastRow = ActiveSheet.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row

    Range("Table1[type phone]").Select
    ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:= _
        "=*samsung*", Operator:=xlAnd
        Range("Table1[company]").Select

Range("B2:B" & LastRow).SpecialCells(xlCellTypeVisible).Value= "Samsung"

    ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:= _
        "=*iphone*", Operator:=xlAnd
        Range("Table1[company]").Select

Range("B2:B" & LastRow).SpecialCells(xlCellTypeVisible).Value= "Apple"
End Sub
我们创建了一个名为LastRow的新变量,并将其定义为long(一种数字类型)。然后,我们根据我在此网站使用的公式定义了LastRow:


最后,我们将范围(“B2:B18”)替换为范围(“B2:B”和LastRow)它会动态地将18替换为数字LastRow。

如果要使用VBA应用筛选器,可以删除基于一列的现有筛选器,然后基于两列应用新筛选器。如何操作?变量您可以录制一个宏。谢谢,它正在工作,但如何使用变量获取最后一行?@EranPeer我已编辑我的文章有完整的代码和简短的解释。如果需要,请随时提出进一步的问题。非常感谢,但你可以帮助我用空白单元格过滤,写“其他”?@EranPeer我认为你应该能够通过重复你已经知道的过程来找出如何做到这一点。首先尝试一下。如果你不能找到它,请发布你正在使用的代码,我会提供帮助。我相处得很好,但不幸的是,还有另一个问题
Sub Macro1()

 Dim LastRow As Long
  LastRow = ActiveSheet.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row

    Range("Table1[type phone]").Select
    ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:= _
        "=*samsung*", Operator:=xlAnd
        Range("Table1[company]").Select

Range("B2:B" & LastRow).SpecialCells(xlCellTypeVisible).Value= "Samsung"

    ActiveSheet.ListObjects("Table1").Range.AutoFilter Field:=1, Criteria1:= _
        "=*iphone*", Operator:=xlAnd
        Range("Table1[company]").Select

Range("B2:B" & LastRow).SpecialCells(xlCellTypeVisible).Value= "Apple"
End Sub