在条件VBA上复制行
我需要一些想法如何复制符合条件的行。
我有这样的数据:
ABCD 1 Country Brand Model Year 2 France Peugeot, Citroen (France) Car 2003 3 Germany VW, Opel, BMW (Germany) Car 2003 ...
目标是,每个汽车品牌与它的参数将在不同的行/我想要做的是将第2行复制到表的底部,并将第3行复制到表的底部。 另外创build显示品牌的F
栏。
结果应该是这样的:
ABCDF 1 Country Brand Model Year 2 France Peugeot, Citroen (France) Car 2003 Peugeot 3 France Peugeot, Citroen (France) Car 2003 Citroen 4 Germany VW, Opel, BMW (Germany) Car 2003 VW ...
另外,我在另外一张纸上列出品牌名单。
我应该尝试search一个,
还是尝试从单独的表单中匹配那些品牌?
我新vba
所以任何想法,build议将不胜感激!
如果列B始终在括号中包含列A中的国家/地区,请考虑在执行拆分之前将其从列中移除。 就像是:
Dim originalWs as Excel.Worksheet, newWs as Excel.Worksheet Dim countryName as String, allBrands as String, brandArray() as String Dim rowNumber as long, nextRow as long, i as long rowNumber = 2 : nextRow = 2
…
countryName = originalWs.Cells(rowNumber,1) allBrands = originalWs.Cells(rowNumber,2) brandArray = Split(Replace(allBrands,"(" & countryName & ")",""),",")
…
For i = lbound(brandArray) to ubound(brandArray) nextRow = nextRow+1 With newWs .Cells(nextRow,1) = countryName .Cells(nextRow,2) = allBrands .Cells(nextRow,3) = originalWs.Cells(rowNumber,3) .Cells(nextRow,4) = originalWs.Cells(rowNumber,4) .Cells(nextRow,5) = brandArray(i) End With Next i
…
关键是你必须维护单独的计数器:
- 原始工作表中的行
- 该行被插入到新的工作表中
- arrays中的品牌
祝你好运!