我試圖將數據從一張傳輸到另一張,格式如圖片所示。表一中的數據長度未知。我正在使用的代碼將以正確的格式放置數據,但所有數據都以最後一行的數據結束。只從最後一行開始循環傳輸數據
For b = 1 To l - 1 Step 1
For c = 0 To (l - 2) * 4 Step 4
idvalue = Sheet1.Cells(b + 1, 1).Value
Sheet3.Cells(c + 1, 2).Value = idvalue
namevalue = Sheet1.Cells(b + 1, 2).Value
Sheet3.Cells(c + 2, 2).Value = namevalue
amountvalue = Sheet1.Cells(b + 1, 3).Value
Sheet3.Cells(c + 3, 2).Value = amountvalue
commentsvalue = Sheet1.Cells(b + 1, 4).Value
Sheet3.Cells(c + 4, 2).Value = commentsvalue
Next c
Next b
試試看看這個代碼。一個通用的解決方案,不關心你的表的大小,你也可以使用它的任何表格將其轉換爲長格式。 https://www.chicagocomputerclasses.com/convert-crosstab-table-database-list-table-excel-vba-macro-code/ – Masoud