基本上,我只是在網上發現了這個小代碼,我想它可能會幫助我,因為我想改進它。但是在Do Until Range("A" & amp, R) = ""一行,我得到了標題中提到的錯誤。
以下是代碼:
R = 1。
'回圈到最后一行。
Do Until Range("A"/span> & amp, R) = ""
'檢查每個單元格,如果包含'apple'則...。
'...將'包含蘋果'放在B列。
如果 Range("A" & amp, R) Like "*apple*" Then
Range("B" & amp, R) = "包含Apple"
結束 If
R = R 1
Loop
End Sub
它確實在A列的句子中搜索 "蘋果 "一詞,并且在B 列中寫上 "包含蘋果",如果它包含 "蘋果 "的話
。uj5u.com熱心網友回復:
嘗試這樣做:
R = 1。
'回圈到最后一行。
Do Until Range("A" & R) .Value = ""
'檢查每個單元格,如果包含'apple'則...。
'...將'包含蘋果'放在B列。
如果 Range("A" & R).Value Like "*apple*" Then
Range("B" & R).Value = "包含蘋果"。
結束 If
R = R 1
Loop
uj5u.com熱心網友回復:
Range("A" & amp, R)不是解決范圍的正確方法。當你從網站上復制的時候,它也復制了html編碼。在Html中&被編碼為&。只需在你的代碼中用&,替換&。所以你的代碼變成了
R = 1。
'回圈到最后一行。
Do Until Range("A"/span> & R) = ""
'檢查每個單元格,如果包含'apple'則...。
'...將'包含蘋果'放在B列。
如果 Range("A" & R) Like "*apple*" Then
Range("B" & R) = "包含Apple"
結束 若
R = R 1
Loop
另外,為了使代碼不區分大小寫,正如@VBasic2008在下面的評論中所建議的,你可能想把Range("A" & R) Like "*apple*"改為If LCase(Range("A" & R).Value2) Like "*apple*" 然后。
盡管如此,我還是會使用一個不同的方法,而不是使用一個回圈,這是一個稍微慢一點的方法。
它確實在A列的句子中搜索 "apple "一詞,如果包含 "apple",就在B列中寫 "包含apple"
如果你在Excel中這樣做,那么你將使用公式=IF(ISNUMBER(SEARCH("apple",A1)), "包含蘋果",")
因此,我們要做的是找到B列的最后一行,然后在整個范圍內一次性添加這個公式! 最后,我們將把這個公式轉換成數值。
Option Explicit>
Sub Sample()
Dim ws As 作業表
Dim lRow As Long
Dim sFormula As String
'~~> 將此改為相關表。
Set ws = Sheet1
'~~> 這是你的公式。
' =IF(ISNUMBER(SEARCH("apple",A1)), "包含蘋果",")
sFormula = "=IF(ISNUMBER(SEARCH(""apple",A1)),""Contains Apple","""")"
With ws
'~~> 查找B列的最后一行。
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
'~~> 在整個范圍內一次性插入公式。
With .Range("B1:B"/span> & lRow)
.公式 = sFormula
'~~> 轉換公式為值。
.Value = .Value
End With[/span
結束 有
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/332379.html
標籤:

