老师您好,想向您再咨询个excel 合并单元格的问题

如下图,B1至B2格中原来是1和2(B3等依次递增)。
我的问题是,用vba如何做到:
任意选定一单元格区域如B1:B2,使该选定区域合并单元格,其合并后各格内都还保留原值(就想图中,B2格内显然有值,还是合并前的那个值2)?也就是说,当再点击“撤销合并单元格”后,就又能回到合并之前的状态,每个均有原来的值(如选定B1:B2合并格,点击“撤销合并单元格”解除B1、B2合并,即可得到B1=1,B2=2)。
总之,合并还是撤销合并的整个过程中,以避开自动弹出的“选定区域包含多重数值。合并到一个单元格后只能保留最左上角的数值”,使区域中的值始终不会收到影响。

这个不用VBA就可以做到:
1、合并单元格,不要直接用EXCEL按钮或右键进行合并:根据合并区域的大小,在任一空白区域合并单元格,选定这个区域,用格式刷,刷新欲合并单元格,这时合并的单元格中就不会只保留左上角的数据,所有的数据还是存在的;
2、拆分单元格,直接用按钮或右键进行,会有一些提示,不用管他,确定,这时所有单元格中的原来的数据恢复了。追问

  嗯,是这样的,只是我想要代码,用变量记录下原来的值然后又赋值的代码。只是在赋值的时候无法进行了,如

  Cells(2, 2) = "中"

  根本就无法赋值,可能是因所谓的Cells(2, 2)根本就不存在!这从输入

  Cells(2, 2).Select

  选定的还是合并后的单元格就能看出来。

      打破excel这个“合并之后仅留一值”的既设的框框,就是我这次提问的主旨所在。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-14
这个是程序已经设定好了的。合并后只留一个值。除非你通过VBa来监视合并操作,并用变量记录下原来的值。当检测到撤销时,将变量的值重新写回单元格。追问

      就是要打破这个合并之后仅留一值的既设的框框。

  swl4561255老师的所答就是个办法,但不是vba代码处理的办法。最好能写出来代码,简约点就行。

  如swl4561255老师所答,因要偏移至100列之后暂时用表格内单元格记录,尚觉欠妥。诸位老师的答案均暂未采纳。

第2个回答  2013-07-14
已经有解决办法了,明天上电脑回答