excel根据内容长短自动合并单元格?

如图1,B18单元格有超长内容显示不全,如果手动合并单元格,会很费时间,有没有办法让其根据内容长短自动合并单元格,像图2一样显示全部内容。自动调整行高、列宽对于合并单元格不生效。有没有通过vba代码修改的?
感谢大佬们的解答。

B18单元格的内容超长,造成一个单元格的行高超过了屏幕高度,使单元格的内容无法全部看到。你希望它能在B18下面的几个单元格内逐行显示。

这个不叫合并单元格,应该叫做拆分单元格吧?

你可以这样做:

    在B18单元格下面插入若干行,行数宜多不宜少,最后多出的行可以再删掉;

    在B列右侧插入一列;

    将B18设置成自动换行,并拉长其列宽到整个屏幕宽度,看看B18内容的换行处是否在列宽的边界。如果不是,可以按照步骤4~5输入公式。如果是,那就按照步骤6~7输入公式;

    -------内容中有换行符

    在C18单元格输入公式:=LEFT(B18,FIND(CHAR(10),B18)-1);

    在B19单元格输入公式:=SUBSTITUTE(B18,C18&CHAR(10),"");

    -------内容中无换行符

    在C18单元格输入公式:=LEFT(B18,35);

    35可以用更合适的数值代替

    在B19单元格输入公式:=SUBSTITUTE(B18,C18,"");

    ---------

    选中C18单元格,向下拖拉复制到C19;

    选中B19:C19区域,向下拖拉复制,直到出现“#VALUE”或全是空白;

    复制C列的第18行到“#VALUE”那一行,不包括#VALUE”,选择性粘贴文本到B18;

    删除C列,删除“#VALUE”及多余的空行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-17
操作上不用合并多行单元格,你只要合并B~I列的每一个行,操作如下:
选择B18:I18单元格区域操作合并单元格,然后,复制B18单元格,再“选择性粘贴==>格式”到相关的类似单元格,就可以实现表格单元格的宽度一样了。
最后,按Ctrl+A全选表格,鼠标移动至表格左边的行标号线上(如2~3之间的线上),等鼠标显示为上下二个剪头和二条线时双击鼠标左键,即可得到你要的效果了……追问

你这方法还是手动操作,如果内容超长,就必须把18行以后的行合并才能显示,单独一行行高只能拉到409

追答

但是,你这样的思路总体上还是不可取的啊!!!
其实应该是做数据分列,并建立基础数据库,后续不论是打印排版、数据查询、数据汇总统计等等都是十分的方便了…………

第2个回答  2021-05-17
合并单元格只能是手工或者代码。不是经常用的就手工,代码要收费的。追问

代码从哪里弄到

追答

钱换到

第3个回答  2021-05-18
表格设计不合理造成的麻烦
从一开始就不该这样录入数据
相似回答