3つの列にあるセルの値を検索して、あるワークシートの行を別のワークシートにコピーするVBAマクロがあります。マクロは機能しますが、行32767に達したときにクラッシュします。この行には数式や特殊な書式はありません。さらに、私はその行を取り出しましたが、それでもその行番号でクラッシュします。これはExcelの制限ですか?プロセス32000行後にVBAマクロがクラッシュする
されているワークシートの一部の43000は、したがって、私は私のマクロとどのように私はそれがワークシートの最後に到達得ることができると間違っている何があり問うている:ワークシート内の各週間のために
Dim LSearchRow As Integer
Dim LCopyToRow As Integer
Dim wks As Worksheet
On Error GoTo Err_Execute
LSearchRow = 4
LCopyToRow = 4
ThisWorkbook.Worksheets.Add After:=Worksheets(Worksheets.Count)
Set wksCopyTo = ActiveSheet
wks.Rows(3).EntireRow.Copy wksCopyTo.Rows(3)
While Len(wks.Range("A" & CStr(LSearchRow)).Value) > 0
If wks.Range("AB" & CStr(LSearchRow)).Value = "Yes" And wks.Range("AK" & CStr(LSearchRow)).Value = "Yes" And wks.Range("BB" & CStr(LSearchRow)).Value = "Y" Then
Rows(CStr(LSearchRow) & ":" & CStr(LSearchRow)).Select
Selection.Copy
wksCopyTo.Select
wksCopyTo.Rows(CStr(LCopyToRow) & ":" & CStr(LCopyToRow)).Select
wksCopyTo.Paste
'Move counter to next row
LCopyToRow = LCopyToRow + 1
'Go back to Sheet1 to continue searching
wks.Select
End If
LSearchRow = LSearchRow + 1
Wend
Application.CutCopyMode = False
Range("A3").Select
MsgBox "All matching data has been copied."
Next wks
Exit Sub
Err_Execute:
MsgBox "An error occurred."
助けてください!
IIRC VBAの整数型は16ビット幅です。 「ロング」はありますか?私は忘れる。 – cHao
ルックアップヘルプで整数を変更してからロングに変更してください –
ありがとうございました - データ型をlongに変更するだけでした。 – Andy5