簡體   English   中英

VBA復制范圍到新工作表中的單元格

[英]vba copy range to cell in new worksheet

我在同一工作簿中有兩張正在處理的工作表。 我為每個變量定義了dbrs
此處的目標是將db的某一行(假設它符合我的條件)復制到rs上的下一個空行

我試過了:
db.Range(db.Cells(i, 1), db.Cells(i, M)).Copy _ Destination:=rs.Cells(N, 1).End(xlUp).Offset(1, 0)

Set resrow = db.Range(db.Cells(i, 1), db.Cells(i, M)) 'next line is completely wrong inside the Range bracket rs.Range(rs.Cells(N, 1).End(xlUp).Offset(1, 0)).Resize(1, M).Value = resrow.Value

請注意, iMintegers
我似乎在嘗試為單元格設置范圍值。 我怎樣才能最好地解決它?

提前致謝

我認為您正在混合范圍與單元格,我會嘗試類似:

rsLastRow = rs.UsedRange.Rows.Count

db.Range(Cells(i, 1), Cells(i, M)).Copy
rs.Range("A" & rsLastRow).PasteSpecial Paste:=xlPasteValues

避免復制和粘貼以減少內存使用並提高VBA性能

Set rng1 = db.Cells(Rows.Count, "A").End(xlUp)
Set rn2 = db.UsedRange
col = rn2.Columns.Count

For Each cel In db.Range("A2:A" & rng1.Row)
   if (condition) then
      Set rng2 = rs.Cells(Rows.Count, "A").End(xlUp)
      rs.Range(Cells(rng2.row, 1), Cells(rng2.row, col)).Value = db.Range(cells(cel.row,1),Cells(cel.row,col)).Value
   end if
Next

暫無
暫無

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

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