簡體   English   中英

Excel VBA 從一個工作表中復制范圍並將其一次一個單元格地粘貼到另一張工作表中

[英]Excel VBA copy range from one sheet and paste it one cell at a time in another sheet

我正在嘗試從一張紙上復制一系列數據並將其粘貼到另一張紙上,一次一個單元格。

假設 Sheet1 的數據范圍為 A1 到 C5。 A1 到最后一行需要復制並粘貼到 Sheet2 中,但一次一個單元格從 A 列中的第一個非空單元格開始直到最后復制的數據。 這可能嗎?

必須一次一個單元格執行此操作的原因是,對於每個更新的單元格,都會創建一個包含該單元格新值的 small.txt 文件。 然后使用此文件跨多個 excel 文件同步數據。

提前致謝

我不會使用復制/粘貼功能,因為它比直接將一個單元格的值分配給另一個單元格要慢得多。

嘗試這樣的事情:

Dim sourceWorksheet As Worksheet
Dim destinationWorksheet As Worksheet
Dim rangeToTransfer As Range

Set sourceWorksheet = myWorkbook.Worksheets("<name of source worksheet>")
Set destinationWorksheet = myWorkbook.Worksheets("<name of destination worksheet>")
Set rangeToTransfer = sourceWorksheet.Range("A1:C5")

Dim lastUsedRow As Integer
Dim rowIndex As Integer
Dim columnIndex As Integer

lastUsedRow = destinationWorksheet.Cells(destinationWorksheet.Rows.Count, 1).END(xlUp).row

For rowIndex = 1 To rangeToTransfer.Rows.Count
   For columnIndex = 1 To rangeToTransfer.Columns.Count
      destinationWorksheet.Cells(lastUsedRow + rowIndex, columnIndex).Value2 = rangeToTransfer.Cells(rowIndex, columnIndex).Value2      
   Next   
Next

我在這里做一個假設:

  • 您知道您要復制的確切范圍 - A1:C5

但我希望這能為您指明正確的方向!

暫無
暫無

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

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