excel中用vba宏怎么 在A列包含指定内容的条件下 让B列自动填充文本

例如:下面A列中含有“PI”就让B列自动填“入库”
;如果A列中含有“RO”B列填“退货”
PI1234 入库
PI5678 入库
RO123 退货
RO456 退货

第1个回答  2017-11-16
在B2中输入
=IF(ISNUMBER(FIND("PI",A2)),"入库",IF(ISNUMBER(FIND("RO",A2)),"退货",""))
下拉填充追问

我有宏的,要自动运行一些东西,在其中要插入这个条件内容,所以不能用手动

追答Sub 条件填充()
For i = 2 To [a65536].End(3).Row
    If InStr(Cells(i, 1), "PI") Then
        Cells(i, 2) = "入库"
    ElseIf InStr(Cells(i, 1), "RO") Then
        Cells(i, 2) = "退货"
    End If
Next
End Sub

本回答被提问者采纳
第2个回答  2017-11-16
Sub test()
Dim myrow, arr, brr, i
myrow = Range("a65536").End(xlUp).Row
arr = Range("A1:A" & myrow)
ReDim brr(1 To myrow, 1 To 1)
For i = 1 To myrow
    If InStr(arr(i, 1), "PI") > 0 Then
        brr(i, 1) = "入库"
    ElseIf InStr(arr(i, 1), "RO") > 0 Then
        brr(i, 1) = "退货"
    End If
Next
Range("B1").Resize(myrow, 1) = brr
End Sub

相似回答