如果有人能幫我解決我遇到的這個問題,我將不勝感激。基本上,VBA是一種搜索功能,它使用戶能夠從作業數據庫中搜索作業的部分或全部名稱。Excel VBA:運行時錯誤7:內存不足
但是,它導致「運行時錯誤7:內存不足」。這隻發生在我的Macbook上,並不會在Windows電腦上發生。點擊「調試」,它將我帶到這行代碼:
`If scd.Cells(i, j) Like "*" & Search & "*" Then
請幫忙!謝謝!
的代碼的其餘部分是如下:
Option Compare Text
Sub SearchClientRecord()
Dim Search As String
Dim Finalrow As Integer
Dim SearchFinalRow As Integer
Dim i As Integer
Dim scs As Worksheet
Dim scd As Worksheet
Set scs = Sheets("Client Search")
Set scd = Sheets("Client Database")
scs.Range("C19:S1018").ClearContents
Search = scs.Range("C12")
Finalrow = scd.Range("D100000").End(xlUp).Row
SearchFinalRow = scs.Range("D100000").End(xlUp).Row
For j = 3 To 19
For i = 19 To Finalrow
If scd.Cells(i, j) Like "*" & Search & "*" Then
scd.Range(scd.Cells(i, 3), scd.Cells(i, 19)).Copy
scs.Range("C100000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next i
Next j
scs.Range("C19:S1018").Select
scs.Range("$C$18:$S$1009").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6 _
, 7), Header:=xlYes
Call Border
Columns("C:S").HorizontalAlignment = xlCenter
End Sub
你有沒有想過使用'.Find'和'.FindNext'方法呢?它比循環更有效。請參閱[這裏](http://www.siddharthrout.com/2011/07/14/find-and-findnext-in-excel-vba/)以獲得很好的示例 –
,如果您使用'If instr(scd.Cells( i,j).value,Search)> 0然後'代替'If scd.Cells(i,j)像「*」&Search&「*」Then'? –