【问题标题】:How to copy individual value combinations from three columns to a different sheet如何将单个值组合从三列复制到不同的工作表
【发布时间】:2018-08-04 08:41:25
【问题描述】:

我是初学者,请耐心等待

我现在使用的代码是这个,由用户“Xabier”给我的,我稍微编辑了一下。这会将带有特定文档# 的行复制到单独的工作表中,从而给我一个列表:

Sub foo()

    Dim ws As Worksheet: Set ws = Sheets("inbd")
    Dim wsDestination As Worksheet: Set wsDestination = Sheets("test")

    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    ws.Range("A1:N" & LastRow).AutoFilter Field:=1, Criteria1:=Worksheets("test").Cells(1, 26).Value

    ws.Range("A2:N2" & LastRow).SpecialCells(xlCellTypeVisible).Copy
    DestinationRow = wsDestination.Cells(wsDestination.Rows.Count, "A").End(xlUp).Row + 1

    wsDestination.Range("A" & DestinationRow).PasteSpecial xlPasteValues

    Application.CutCopyMode = False
    ws.Range("A1:N" & LastRow).AutoFilter Field:=1

End Sub

现在我想做的是为包含有关进口来源的数据的文档创建一个标题。

此数据是“进口编号”、“发票编号”、“供应商”和“发票日期”。基本上对于每个唯一的发票#,即使供应商或进口# 相同,我也需要创建一个唯一条目。

而且我不能复制整行,我只需要复制每行中的某些单元格。 在我真正弄清楚这一切是如何工作的之后,这就是文档的外观。

【问题讨论】:

标签: vba excel


【解决方案1】:

这实际上是一个非常复杂的解决方案,但 StackOverflow 并不适用。相反,我会告诉你如何自己实现它。

loop through filtered data
    if not first loop, check if the previous new sheet's invoice number matches this one
        check that new sheet is not too full to add invoice
            copy this row's invoice information to new sheet

looping through filtered data

copying data from cell to cell

【讨论】:

  • 我找到了使用高级过滤器的解决方案。这就是宏查找它的方式 Sub Macro3() ' ' Macro3 Macro ' ' Application.CutCopyMode = False Application.CutCopyMode = False Columns("B:B").AdvancedFilter Action:=xlFilterInPlace, Unique:=True End Sub
猜你喜欢
  • 1970-01-01
  • 2018-06-11
  • 2017-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 2018-05-26
  • 1970-01-01
相关资源
最近更新 更多