VBA,将xlsx划分为多个工作表

时间:2017-05-19 17:56:54

标签: excel-vba vba excel

我不经常与VBA合作,所以我需要一些帮助。 .xlsx在第1行中包含列标题。要处理的第一个工作表名为“已提交” 第一栏是“年金”,我正在寻找。在这一列下将是名称。名称和行的数量不断变化。 (问题:某些单元格可能有多个名称除以“,”,并且名称将在多个单元格中列出)exp:

I2 =“John Doe”

I3是“John Doe”

I4是“John Doe,Jane Doe”(如果发生这种情况,我们只想要第一个完整的名字,停在“,”

I5是“Jane Doe”等等。

需要做的是每个ROW都需要剪切并粘贴到新工作表上,标题为“Column I_Submitted”中的名称,具有相同的列标题并将所有John Doe组合在一张纸上,以及Jane Doe的在另一张纸上。

清除此工作表后,下一张工作表为“付费”,与“已提交”相同 最后是工作表“YTD”,我们要读取“D”列,与其他两张纸完全相同的过程。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

毫无疑问,这对于VBA新手来说是令人生畏的。这里有很多小部分很难弄明白,比如循环遍历每一行,创建一个新的工作表,找出你要复制到的工作表中的哪一行是最后一行,想出如何获得名字从逗号分隔列表等。

下面的代码应该完全符合您的需求。我在每行之前做了很多评论来解释它在做什么。它应该给你一个坚实的跳跃点。

    //final String[] allProtocols = sslsock.getEnabledProtocols();
    final String[] allProtocols = sslsock.getSupportedProtocols();

要使用“付费”表单执行此操作,只需将ws_read更改为指向“付费”。对于“YTD”表,您必须更改ws_read并将str_name更改为指向第4列而不是第9列。