从Excel上的唯一项目获取数量

时间:2014-07-28 00:13:02

标签: excel vba excel-vba

我在Excel上有一个spredsheet,我必须从一行中获取项目数,有些想法是这样的:

Item1 | Qty1 | Item2 | Qty2 | Item3 | Qty3 | ... | ItemZ | QtyZ |

在第二张表格中,我必须填充这些数据,但只有两个列(项目和数量)。

有什么方法可以做到吗?我宁愿使用DGETVLOOKUP(似乎更快)的解决方案,虽然任何可行的方法都会让我非常开心:D

我尝试过使用循环函数,使用Find +向左移动+复制并粘贴数量。问题是,这就像永远一样(加上我的Excel崩溃了几次)。

所以大家,你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

如果我理解了你之后的事情,那么这里有一些基本的东西可以让你入门(它在VBA中,不是使用Excel功能,但你有希望得到想法):

Public Sub CopyDown()

  Dim i As Long
  Dim j As Long

  j = 1
  For i = 1 To Sheet1.Cells(1, Sheet1.Columns.Count).End(xlToLeft).Column Step 2
    Sheet2.Cells(j, 1) = Sheet1.Cells(1, i)
    Sheet2.Cells(j, 2) = Sheet1.Cells(1, i + 1)
    j = j + 1
  Next i

End Sub

由于没有错误检查,它不是非常强大,但它应该适用于您所描述的情况。它假设项目在第1行中排列在奇数列(1,3等)中,数量在偶数列(2,4,等)中排列在" Sheet1和#34;中。然后将它们复制到A列中的升序行(从1开始)(对于项目)和B(对于数量)在" Sheet2"中。如果您需要更多解释,请告诉我。