私が持っているこの問題で誰かが私を助けることができれば感謝します。基本的に、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'メソッドを使用して考えたことはありますか?ループよりも効率的です。適切な例については、[here](http://www.siddharthrout.com/2011/07/14/find-and-findnext-in-excel-vba/)を参照してください。 –
と 'If instr(scd.Cells i、j).value、Search)> 0 scd.Cells(i、j)のように "*"&Search& "*" Then'の代わりに? –