看似很简单的问题,但真正应用起来好困难!
是这样的,我的程序需要在指定的行中或列中添加一行或一列,但问题是:
当我要选中行时,如果第一列中有合并的列,我就无法选中这一行!
同理,当我要选中列时,如果第一行中有合并的行,我就无法选中这一列。
所以我的问题是:我要如何选中指定的行或列?
这个在手动操作时是很方便的,只要点击一下头就可以选中了。
但在程序中无法实现,请教高手指点。

解决方案 »

  1.   

    选中范围定义为不是合并的地方
    e.g.
    插入到第一行
    excelApplication.ActiveSheet.Range("A1:D1").Select
    Selection.EntireRow.Insert
    或者
    excelApplication.ActiveSheet.Rows(1).Insert
      

  2.   

    我使用录制宏的方式可以把我的操作录制如下:
        Columns("J:J").Select
        Range("J3").Activate
        Selection.Copy
        Selection.Insert Shift:=xlToRight
    但因为我的第一行是表的名称,所以它是一个合并后的整行.
    我手动操作录入的宏如果运行它的话会发生不是插入一行,而是复制了一个表,也就是会有二张相同的表,在一张表内.
    我也想过楼上king06说的办法,我可以先插入一行后然后再去合并我需要的合并的单元格,但那样的程序会非常的复杂,因为,比如说,我要插入J列,但我的H1,J1,K1是合并的,当我插入完之后,我需要将H1,J1,K1,L1进行合并,看是很简单,但如果我再来N次同样的操作呢(我的程序就是需要这样的N次,有一个未知个数的循环)?这个程序是不是变得复杂了?
    如果可以选中J列,然后是复制这一列,然后是插入复制列,我就不用再干别的事了.
      

  3.   

    如果是合并单元格,不要用select或Active
    直接Copy
    然后insert