vba - 如果另一个单元格匹配时单元格为空,如何在行之间复制excel中的单元格数据

标签 vba excel

我知道标题真的很啰嗦,我会尽力解释

我正在尝试将 Magento 产品放入 Zen Cart(仅限背景 - 不应该相关)。

我有一个 excel 2010 xls 电子表格,其中有大量产品数据:skus、价格、类别等……你明白了。我列出了每个产品及其数据一次,每个产品都有一个唯一的 SKU 字段。

但是......其中一些产品属于多个类别,而我导入的方式,每个产品都需要多次列出,每个类别一次。

所以,我做了一个包含两列的 sql 转储; sku 和类别。我已将这些值作为新行粘贴到 excel 中,所以现在我遇到了这样的情况(有更多条目):

enter image description here

正如您所看到的,对于每个 sku(左突出显示),除了类别(右突出显示)之外,还有一个包含所有数据的条目,然后它所属的每个类别都有一个附加条目,其中仅包含类别和 sku,但没有其他数据。

所以,我需要做的是如何在具有相同 sku 的所有单元格中复制所有数据(除了类别列)。有谁知道如何在不按 Ctrl+V 数百次的情况下实现这一点。我意识到 VBA 可能很容易处理这个问题,但我在这方面没有任何线索。

非常感谢任何帮助

最佳答案

我希望您愿意使用第二张纸,并引用数据而不是实际复制。

在 Sheet2 上,设置 A1=IF(Sheet1!A1="", "", Sheet1!A1) .将其拖动(扩展/填充)到 A500 (与 Sheet1 上的数据一样多,或者进一步,以允许增长)。也拖A1转至 AA1然后把它拖到AA500 .

然后设置B2=IF($AA2="", Sheet1!B2, B1) ,拖到Z2 ,然后拖动 B2:Z2下至 B500:Z500 .

附言如果您的任何数据(列)是日期,您可能需要在 Sheet2 上明确地将它们格式化为日期。对于以任何非默认方式格式化的任何其他值(例如,货币或百分比)也是如此。可能只需要对其中包含值的单元格(而不是空白单元格)执行此操作。

关于vba - 如果另一个单元格匹配时单元格为空,如何在行之间复制excel中的单元格数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14225345/

相关文章:

vba - Ms Access 数据库在使用 vba 打开时可以创建自身的备份吗?

python - 如何使用 xlrd、xlwt 和 xlutils 将 "existing"工作表添加到工作簿

Excel 2010 - 仅在小计单元格中计算唯一值

Excel根据分组的另一列添加序列号列

arrays - VBA:尝试返回数组但只获取第一个值

vba - 模块变量在 CodeModule.InsertLines 调用后无法存活

vba - 使用 Excel VBA 将 Excel 文档上传到 Google Drive 上的共享文件夹?

vba - 当选择整行时,为什么 Selection.EntireColumn.Address 返回行引用?

excel - 将多张纸保存为 .pdf

Excel PowerPivot 平均计算