2015-01-12 45 views
0

此代碼是複製單詞'小''中''大'它是靜態的,但我有名單 列(B)中用於搜索在(d)列,如果找到的話抄在 「E」列我如何搜索和複製只搜索到下一列

Option Explicit 
Sub FindSize() 

Dim c As Range, s, i As Long 
s = Array("small", "medium", "large") 
For Each c In Range("B2", Range("B" & Rows.Count).End(xlUp)) 
For i = LBound(s) To UBound(s) 
If InStr(UCase(c), UCase(s(i))) > 0 Then 
c.Offset(, 1) = UCase(s(i)) 
Exit For 
End If 
Next i 
Next c 
End Sub 
+0

工作表公式不是寫出宏而是寫出來的方式嗎? –

回答

0

我會用香蕉先生同意,一個簡單的公式是一個更好的解決方案。關閉我的頭頂,我會用:

= TRIM(IFERROR(IF(FIND( 「小」,LOWER(B2))> 0, 「小」, 「」), 「」)& IFERROR (IF(FIND(「medium」,LOWER(B2))> 0,「Medium 」,「」),「」)& IFERROR 「)」「),」「))

你會在列中複製哪一個。公式搜索每個文本字符串(小號,中號&大)返回最後一個空格的正確文本。 IFERROR處理B單元格不包含特定字符串時查找的#VALUE結果。然後將結果連接(&運算符),然後裁剪多餘的空格。希望這可以幫助。