簡體   English   中英

Excel VBA-如何使用不同的子例程將行從工作簿的行復制到另一個工作簿的工作表

[英]Excel VBA - How to copy row by row from a sheet of workbook to another Workbook's sheet using different subroutine

我正在嘗試將數據從一張工作簿復制到另一個工作簿,但是代碼顯示錯誤1004。這是我在Subroutine findDuplicates()的For循環中遇到錯誤的代碼

Option Explicit

Sub GenerateErrorSheet()
   Dim MyBook As Workbook
   Dim newBook As Workbook
   Dim FileNm As String
   Dim rowCount As Integer

   Set MyBook = ThisWorkbook
   rowCount = 1

   FileNm = ThisWorkbook.Path & "\" & "ErrorSheet-" & Date & ".xls"
   Set newBook = Workbooks.Add

   With newBook

      Call findDuplicates(Worksheets("pid"), "PID Generator", rowCount,newBook.Worksheets("Sheet1"))
      rowCount = rowCount + 4
      'Call findDuplicates(Worksheets("behavioural"), "Behavioural Measurement")
      'rowCount = rowCount + 4
      'Call findDuplicates(Worksheets("physical"), "Physical Measurement")
      'rowCount = rowCount + 4
      'Call findDuplicates(Worksheets("biochemical"), "Biochemical Measurement")
      'Save new wb with XLS extension
      .SaveAs Filename:=FileNm, FileFormat:=xlNormal, CreateBackup:=False

      .Close Savechanges:=False
   End With
   MsgBox "Error Sheet Generated Successfully." & vbNewLine & "Name Of Sheet - ErrorSheet-" & Date & ".xls" & vbNewLine & "Saved Location - " & FileNm
End Sub

我的findDuplicates子例程在for循環中給出了錯誤

Sub findDuplicates(ByVal sheet As Worksheet, name As String, ByRef row As Integer, ByVal Sheet2 As Worksheet)
   Dim i As Integer
   Dim numRow As Integer
   numRow = sheet.Range("J2", sheet.Range("J2").End(xlDown)).Rows.Count

   With Sheet2
       Range(Cells(row, "A"), Cells(row, "L")).MergeCells = True
       With Cells(row, "A")
           .Font.name = "Bell MT"
           .Font.FontStyle = "Bold Italic"
           .Font.Size = 20
           .Font.Color = RGB(255, 99, 71)
           .Value = "Multiple Forms Found in " & name & " for single household"
       End With
       row = row + 1
   End With
   For i = 1 To numRow
        sheet.Rows("i").Copy Sheet2.Rows("row")
        row = row + 1
   Next i
End Sub

錯誤顯示為- 錯誤圖像

錯誤之前的本地值- 當地圖片

我猜是Sheet2.Rows(“ row”)。 這不應該只是Sheet2.Rows(row)嗎?

編輯:另外Sheet.Rows(“ i”)可能是sheet.rows(i)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM