繁体   English   中英

范围列并将值添加到特定范围

[英]Range Column and add Value to the specific range

我有一个Excel文件,我想过滤大约一列,并在另一列上添加特定值

Excel文件

Sub Macro1()
'
' Macro1
'

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

        'Here I want to  add the specific value "Samsung"'

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

        'Here I want to  add the specific value "Apple"'

End Sub

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

[ 其他项目[2]

例如,如果缺少Samsung Devices表,可以写什么条件? 因为如果我运行代码,它会崩溃,它正在寻找三星。

没有三星设备

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

要更改仅可见单元格的值(又称过滤器中显示的单元格),可以使用SpecialCells(xlCellTypeVisible)

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

"Range("B2:B18").SpecialCells(xlCellTypeVisible).Value= "Samsung"

和第二个休息

"Range("B2:B18").SpecialCells(xlCellTypeVisible).Value= "Apple"

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


使用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: https ://www.thespreadsheetguru.com/blog/2014/7/7/5-different-ways-to-find-the-last-row-or- 最后一列使用vba

最后,我们将Range(“ B2:B18”)替换为Range(“ B2:B”&LastRow),然后将动态18替换为数字LastRow。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM