如何自动合并单元格?
我有一个 Excel 表格,其中包含多个项目 1、2、3...,每个项目都有子项目 1.1、1.2 等。我使用子项目列表作为我的关键列,并使用 vlookups 填充主要项目,但仅每个主要项目显示一次。
/| A | B | C |
-+---------+----------+----------+
1| Item1 | 1.Note | Item1.1 |
2| | | Item1.2 |
3| | | Item1.3 |
4| Item2 | 2.Note | Item2.1 |
5| | | Item2.2 |
6| | | Item2.3 |
7| | | Item2.4 |
8| Item3 | 3.Note | Item3.1 |
9| | | Item3.2 |
0| | | Item3.3 |
C
列是原始数据; A
和 B
是公式。
B
列有注释,因此文本可能会很长。 我想将笔记包裹起来以占据所有可用的行。 我可以通过选择 B1:B3
并合并它们来手动执行此操作,但如果我将项目添加到 C
列,它就不会更新。
我不在乎单元格是否合并或只是包裹和重叠。
可以用公式或 VBA 来完成吗?
I have an Excel table with several items 1, 2, 3..., each of which has subitems 1.1, 1.2, etc. I'm using the list of subitems as my key column and populating the main items using vlookups, but only showing each main item once.
/| A | B | C |
-+---------+----------+----------+
1| Item1 | 1.Note | Item1.1 |
2| | | Item1.2 |
3| | | Item1.3 |
4| Item2 | 2.Note | Item2.1 |
5| | | Item2.2 |
6| | | Item2.3 |
7| | | Item2.4 |
8| Item3 | 3.Note | Item3.1 |
9| | | Item3.2 |
0| | | Item3.3 |
Column C
is raw data; A
and B
are formulas.
Column B
has notes, so the text may be long. I want to wrap the notes to take up all the rows available. I can do this manually by selecting B1:B3
and merging them, but then it won't update if I add items to column C
.
I don't care if the cells are merged or just wrapped and overlapping.
Can this be done in formulas or VBA?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
扩展 Jon Fournier 的答案,我更改了范围计算以查找非空白单元格,并添加了代码以关闭合并抛出的警告对话框。 我还将该函数更改为“公共”,这样我就可以从“宏”对话框中运行它。
乔恩的第二部分应该在每次重新计算时运行宏,似乎不起作用,但对于我正在做的少量更新来说并不重要。
Extending Jon Fournier's answer, I've changed the range calculation to look for non-blank cells and added code to turn off the warning dialog that Merge throws up. I also changed the function to Public so I could run it from the Macros dialog.
Jon's second part, which should run the macro at every recalculate, doesn't seem to work but doesn't matter to me for the small amount of updating I'm doing.
使用VBA可以做到这一点,我想我不知道如果不使用VBA是否可以做到这一点。 基本上,您要做的就是每次工作表计算时运行代码来重新合并单元格。
我构建了一个与您类似的简单电子表格,并将以下代码放入工作表的代码模块中:
This is possible using VBA, thought I don't know if you can do it without VBA. Basically what you would do is every time your worksheet calculates you run the code to re-merge the cells.
I built a simple spreadsheet similar to yours and put the following code in the sheet's code module: