我希望將主表格(sheet1)中的數(shù)據(jù),按照條件(科目代碼一欄開頭為110且科目代碼長于8個字符,則將該行復(fù)制到新建表格中)復(fù)制到新生成的表格(sheet2)中。前面的程序都運行得很好,但是從紅色部分開始,就無法運行。
不知道是哪里出了錯,請各路大神救命!十分感謝!
這是是樣表格式(后三列都是隨意寫的)
代碼:
Sub New_worksheet()
Sheets(1).Select ‘創(chuàng)建新的表格
Worksheets.Add
End Sub
Sub AutoInput()
Dim k, m, n, i, p, j, q As Long
Set mysheet1 = ThisWorkbook.Worksheets("sheet1")
Set mysheet2 = ThisWorkbook.Worksheets("sheet2")
For n = 1 To 11
mysheet2.Cells(1, n) = mysheet1.Cells(4, n)’復(fù)制表頭
Next
q = mysheet1.UsedRange.Rows.Count
p = mysheet1.UsedRange.Rows(q).Row’取主表格最后一行行號,因為每次主表格的行數(shù)可能會不同,方便下面循環(huán)用
m = 5’主表格的數(shù)據(jù)從第五行開始
k = 2’從新建表格的第二行開始
For j = m To p ‘從主表格的第五行開始取,取到最后一行
If Len(mysheet1.Cells(j, 1)) > 8 And Left(mysheet1.Cells(j, 1), 3) = 110 Then’篩選條件為科目代碼開頭為110且科目代碼長于8個字符
For i = 1 To 11’此循環(huán)用于將主表格符合條件的行復(fù)制到新建表格中
mysheet2.Cells(k, i) = mysheet2.Cells(j, i)
Next
k = k + 1
Else
k = k + 1
End If
Next
End Sub