将VB的特定行复制到其他行

时间:2018-09-10 09:34:02

标签: excel vbscript

早上好

另一个非常nuby​​类型的问题。我再次看了看,可能会误解我正在阅读的内容。

我上周发布了将XLSX文档映射到CSV文档时遇到的一些问题。简而言之,我们正在以一种用户友好的格式制作一个白痴证明订单表格,当他们单击按钮时,它将转换为系统所需的表格。

到目前为止,我的代码工作正常-

Sub ButtonMacroLatest()
'Hide alerts
application.displayalerts = False
'
' Macro8 Macro
'

'Save to users device
    ChDir "U:\WINDOWS"
    ActiveWorkbook.SaveAs Filename:="U:\WINDOWS\OrderForm.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False

'Create new workbook and populate
    Workbooks.Add
    ActiveCell.FormulaR1C1 = "MSG"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R[1]C"
    Range("C1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R[1]C[3]"
    Range("D1").Select
    ActiveCell.FormulaR1C1 = "1400008000"
    Range("E1").Select
    ActiveCell.FormulaR1C1 = "501346009175"
    Range("F1").Select
    ActiveCell.FormulaR1C1 = "=TODAY()"
    Range("G1").Select
    ActiveCell.FormulaR1C1 = "=Now()"
    Selection.NumberFormat = "[$-x-systime]h:mm:ss AM/PM"
    Range("I1").Select
    ActiveCell.FormulaR1C1 = "HDR"
    Range("J1").Select
    ActiveCell.FormulaR1C1 = "C"
    Range("K1").Select
    ActiveCell.FormulaR1C1 = "1400011281"
    Range("O1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R[1]C[3]"
    Range("P1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R2C4"
    Range("S1").Select
    ActiveCell.FormulaR1C1 = "STD"
    Range("T1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R5C2"
    Range("V1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R7C2"
    Range("W1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R8C2"
    Range("Y1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R9C2"
    Range("Z1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R12C2"
    Range("AB1").Select
    ActiveCell.FormulaR1C1 = "POS"
    Range("AE1").Select
    ActiveCell.FormulaR1C1 = "=Row()*10"
    Range("AF1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R15C3"
    Range("AG1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R15C1"
    Range("AH1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R15C2"
    Range("AI1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R15C5"
    Range("AJ1").Select
    ActiveCell.FormulaR1C1 = "=[OrderForm.xlsx]Order!R15C7"
    Range("AK1").Select
    ActiveCell.FormulaR1C1 = "GBP"
    Range("AM1").Select
    ActiveCell.FormulaR1C1 = "TRA"
    Range("AP1").Select
    ActiveCell.FormulaR1C1 = "=COUNTIF(C[-3], ""POS"")+COUNTIF(C[-3], ""HDR"")"


'Reinstate alerts
application.displayalerts = True
End Sub

我遇到的问题是,我需要将带有文件路径(从AF到AJ)的最后五个公式的下一组复制到第500行,但前提是原始工作表中有某些内容,或者我需要如果将零添加到新表中,则还可以对其进行打折/删除。请记住,此格式已格式化为上载,因此额外的0等将导致错误。

我已经搜寻了整整一圈,但找不到直接回答此问题的任何东西,因此,如果我错过了任何事情,请原谅。

我可以尝试录制,但是当然不能与“ IF”一起使用,因此所有内容都会一成不变。

仅是为了澄清其余字段,还需要填充下来,但是随着它们始终从同一单元格拉出,这些字段将不需要增加。那么,还有一种方法可以将其编码到VB中,从而省去手动操作的麻烦?我想我可以随时记录并使用它。我只是因为我已经在tpoic上而问过(所以有点儿厚脸皮)。

再次,抱歉,如果我错过任何文章。我找不到我想要的。

0 个答案:

没有答案