需要更好地复制采购订单的粘贴VBA

时间:2018-12-27 20:25:06

标签: excel vba purchase-order

我是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

0 个答案:

没有答案