将多行合并为单行vba

时间:2017-03-14 20:26:26

标签: vba

我需要创建一个sub来合并一些数据。我有几行(从4k到20k)我需要合并并对每列的值(从C到N)求和。

输入数据如下所示:

输入
input

对于输出,它应该对每个SKU的列进行求和(A列)并删除其余的。

像这样:

输出
output

它应该很简单,但我似乎无法想出一个合适的解决方案。我尝试使用带有脚本字典的数组,但我无法弄清楚如何为每个键存储多个值。样本(未完成)代码:

Dim sArray As Variant
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")

sArray = Range(currentRange).Value

    For i = 1 To UBound(sArray, 1)
       For j = 3 To UBound(sArray, 2)
          If dict.exists(sArray(i, 1)) = False Then
             dict.Add sArray(i, 1), sArray(i, j)
      Else
     'this part is very wrong:
             dict(sArray(i, 1)) = dict(sArray(i, j)) + sArray(i, j)
          End If
       Next
Next

非常感谢你!

2 个答案:

答案 0 :(得分:1)

试试这个,它将列Q:AB中的值相加,然后将它们粘贴回去并删除重复项。

export scheduledFunctionCrontab =
functions.pubsub.schedule('5 11 * * *').onRun((context) => {
    console.log('This will be run every day at 11:05 AM UTC!');
});

在:

enter image description here

后:

enter image description here

答案 1 :(得分:1)

我提出了以下解决方案而且需要30秒才能运行它(不完全是我自己的想法,从其他地方借用了一些代码):

import numpy as np

a = np.genfromtxt('a.txt', delimiter=',')

它有点凌乱,但它可以解决问题。谢谢大家!