如何使用VBA合并Excel中的行?

时间:2012-05-05 22:28:23

标签: excel-vba vba excel

问题: 这适用于Excel 2010

我很少需要合并多行的结果,如果它们有一个共同的值(在这种情况下是PN#),而有几列相似但不相同(描述和名称),而不同列的数量会自动相加。但是,拥有这样的能力很好。

这可以使用SUMIF多次完成 解释预期结果:

enter image description here

可用资源 How to SUM / merge similar rows in Excel using VBA?

当宏运行时,我想: 1.指定范围,包括标题 2.选择用于比较名称的主列(PN#) 3.选择不会求和的列,但只需选择第一个匹配项(描述和名称) 4.其他列将加总 5.选择我可以放置结果表的位置

我尝试/做过什么:

  1. 我可以从选择中获得范围。但是希望我能做像Excel这样的事情必须选择范围
  2. enter image description here

    1. 输入框,让用户选择要用于比较的列,选择第一次出现的PN#列以及要求总和的列。
    2. 我的主要问题是如何合并行?

2 个答案:

答案 0 :(得分:1)

据我所知,无法使用内置范围对话框。但是,您可以使用InputBox来请求范围,例如

dim rRange as Range
Set rRange = Application.InputBox("Please choose a range", "Specify Range", Type:=8)

要在之后标注标签,您可以使用以下内容:

lblYourLabel.Caption = rRange.Address

您可能想要为它添加一些错误处理并参考InputBox上的手册,但这应该可以帮助您入门。

希望有所帮助, 斯蒂芬

答案 1 :(得分:1)

如果您围绕用户表单设计功能,则可以添加一个控件:RefEdit.Ctrl
它允许用户选择范围并返回该范围地址。