我的問題分為兩部分:
第1部分:
我有兩個作業表。在一個名為“設備詳細資訊”的作業表中,我在 A 列的第 13 到 1000 行中有一組值。我想將這些值中的每一個,即 A13、A14、A15 等復制到另一個名為“作業表(2 )”從單元格 A2 開始。但是,訣竅是需要將第一個作業表中的 A13 復制到第二個作業表的 A2、A14 到 A8、A15 到 A14 中,每次以 6 為增量復制。
這部分是較早整理的。
第2部分:
從“設備詳細資訊”復制到“作業表(2)”的新值現在需要將它們的值復制到接下來的 6 行,依此類推。例如,“作業表(2)”中單元格A2 中的值需要向下復制到A3 到A8 行。然后從第 1 部分中的“設備詳細資訊”復制過來的 A9 中的下一個值需要從 A10 向下復制到 A15,依此類推。這是我的代碼,它在從 A3 行復制到 A8 時運行良好,但隨后它不會跳轉到 A10 行,而是繼續覆寫 A3 行到 A8 行中的值。
Sub CopyDataInBetweenCells()
Dim wb As Workbook
Set wb = ThisWorkbook
Dim destws As Worksheet
Set destws = wb.Worksheets("Worksheet (2)")
Dim RowNo2 As Long
Dim RowNo3 As Long
For RowNo2 = 1 To 2000
For RowNo3 = 1 To 6
destws.Cells(RowNo2 * 7 - 5, 1).Copy Destination:=destws.Cells(RowNo3 * 1 2, 1)
Next RowNo3
Next RowNo2
End Sub
uj5u.com熱心網友回復:
計算目標范圍:
Sub CopyData2()
Dim wb As Workbook
Set wb = ThisWorkbook
Dim srcws As Worksheet
Set srcws = wb.Worksheets("Equipment details")
Dim destws As Worksheet
Set destws = wb.Worksheets("Worksheet (2)")
Dim RowNo As Long
For RowNo = 0 To 987
srcws.Range("A" & RowNo 13).Copy Destination:=destws.Range("A" & RowNo * 7 2 & ":A" & RowNo * 7 8)
Next RowNo
End Sub
uj5u.com熱心網友回復:
使用調整大小
Sub CopyDataInBetweenCells()
Dim wb As Workbook, destws As Worksheet
Set destws = wb.Worksheets("Worksheet (2)")
Dim RowNo As Long, n As Long
With destws
For n = 1 To 2000
RowNo = 2 (n - 1) * 7
.Cells(RowNo 1, 1).Resize(6) = .Cells(RowNo, 1)
Next
End With
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/369552.html
