我是VBA(自学成才)的新手,并且已经在Excel(表格1)中创建了一个采购订单,希望将特定单元格的内容粘贴到Sheet6上。
我尝试了许多有时可能对它有用的选项,然后如果我尝试创建一个新选项,它就会崩溃。这就是我现在所拥有的,并且在粘贴功能方面正在打破。 Sheet1(采购订单)确实具有合并的单元格,这在Sheet6中已经说明了。我尝试过合并它们,而不是合并它们。
我希望它做什么: 从Sheet1(PO)中获取数据,并将其保存到Sheet6(购买)中以供以后报告。将数据复制到Sheet6后,我希望能够清除Sheet1的内容并启动一个新的,最终将其重置。然后单击“提交PO”命令按钮,将数据添加到Sheet6的下一个空白行。
注意:订购的每个产品系列的前几个字段都需要重复。它们是:G4 =采购订单编号,B15 =订购者,F15 =订购日期,E7 =供应商名称。
非常感谢您提供的任何帮助或建议。预先谢谢你。
以下是我现在拥有的VBA代码:
Private Sub CopyPO()
'
' CopyPO Macro
erow = Sheet6.Cells(Rows.Count, 3).End(xlUp).Offset(1, 0).Row
lastrow = Sheet6.Range("F" & Rows.Count).End(xlUp).Row
'MsgBox "The last row in column F is" & lastrow
Do Until lastrow
Cells(erow, 1).Value = Sheet1.[G4].Value
Cells(erow, 2).Value = Sheet1.[B15].Value
Cells(erow, 3).Value = Sheet1.[F15].Value
Cells(erow, 4).Value = Sheet1.[E7].ValueSheet1.Select
Loop
Range("A19:H19").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheet6.Select
Range("A1").Select
ActiveCell.Offset(1, 4).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
End Sub
Sub Reset()
Sheet1.Select
Range("$E$7:$G$7").Select
Selection.ClearContents
Range("$D$19:$F$19").Select
Selection.ClearContents
Range("$D$20:$F$36").Select
Selection.ClearContents
Range("$A$19:$A$36").Select
Selection.ClearContents
Range("$B$15:$C$15").Select
Selection.ClearContents
Sheet1.Range("G4").Value = Sheet1.Range("G4") + 1
Sheet1.Range("E7").Select
End Sub