我需要實現的是下面的第二列。我是 VBA 菜鳥,所以任何幫助將不勝感激。
abc1200 abc1200
MACHINE
supplier
cost
address
invoice number
abc2400 abc2400
MACHINE
supplier
cost
address
invoice number
.
.
.
錄製的程式碼如下。只需要在選擇範圍內重複
ActiveCell.Offset(0, -1).Range("A1").Select
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(6, -1).Range("A1").Select
Application.CutCopyMode = False
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(6, -1).Range("A1").Select
Application.CutCopyMode = False
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveSheet.Paste
答案1
僅在巨集錄製期間需要/使用複製/貼上。在VBA中,直接賦值要容易得多,例如
targetcell.value = sourcecell.value
等。
所以你的前四行就是:
ActiveCell.Offset(0, 1).Range("A1").Value = ActiveCell.Offset(0, -1).Range("A1").Value
您甚至可以將其簡化為更簡單的形式,直接指定儲存格名稱,具體取決於您計劃使用的儲存格。