合并单元格话语,第一遍运行好的,第二遍运行的时候报错,找不到原因

合并单元格语句,第一遍运行好的,第二遍运行的时候报错,找不到原因。
用VB编程序,调用excel输出计算结果。
其中有合并单元格语句,第一遍运行好的,第二遍运行的时候出错,debug指到这个合并单元格语句,报Method Range of object worksheet failed。
   m_xlSheet为worksheet,Page3Length是一个integer变量,运行的时候根据前面的计算,Page3Length=86

Public m_xlApp As Excel.Application
Public m_xlSheet As Excel.Worksheet
Public m_xlBook As Excel.Workbook

    m_xlSheet.Range(Cells(Page3Length + 3, 3), Cells(Page3Length + 3, 11)).Merge (False)


为什么呢?
第一遍运行的时候,能够生成excel,并且将结果显示在excel里面,但是再按一次计算按钮的时候,也会运行,也会出现excel,并一行一行显示结果,但是之行到上面这一句的时候就会停下来,并报错Method Range of object worksheet failed。

我也尝试过在程序最后将excel变量清掉,这样对吗?好像也没有效果
'    Set m_xlSheet = Nothing
'    Set m_xlBook = Nothing
'    m_xlApp.Quit
'    Set m_xlApp = Nothing

盼望大家帮忙看看,谢谢了!

------解决思路----------------------
m_xlSheet是怎么设置的,把代码贴出来。
------解决思路----------------------
引用:
用VB编程序,调用excel输出计算结果。
其中有合并单元格语句,第一遍运行好的,第二遍运行的时候出错,debug指到这个合并单元格语句,报Method Range of object worksheet failed。
   m_xlSheet为worksheet,Page3Length是一个integer变量,运行的时候根据前面的计算,Page3Length=86

Public m_xlApp As Excel.Application
Public m_xlSheet As Excel.Worksheet
Public m_xlBook As Excel.Workbook

    m_xlSheet.Range(Cells(Page3Length + 3, 3), Cells(Page3Length + 3, 11)).Merge (False)


为什么呢?
第一遍运行的时候,能够生成excel,并且将结果显示在excel里面,但是再按一次计算按钮的时候,也会运行,也会出现excel,并一行一行显示结果,但是之行到上面这一句的时候就会停下来,并报错Method Range of object worksheet failed。

我也尝试过在程序最后将excel变量清掉,这样对吗?好像也没有效果
'    Set m_xlSheet = Nothing
'    Set m_xlBook = Nothing
'    m_xlApp.Quit
'    Set m_xlApp = Nothing

盼望大家帮忙看看,谢谢了!


取消合并之后再合并
------解决思路----------------------
在你的cells前面加上m_xlSheet.变成这样:
 m_xlSheet.Range(m_xlSheet.Cells(Page3Length + 3, 2), m_xlSheet.Cells(Page3Length + 3 + kcount, 11)).Font.Size = 10  

------解决思路----------------------
引用:
回复于: 2015-03-05 22:28:47 
在你的cells前面加上m_xlSheet.变成这样:
 m_xlSheet.Range(m_xlSheet.Cells(Page3Length + 3, 2), m_xlSheet.Cells(Page3Length + 3 + kcount, 11)).Font.Size = 10  

恩,是的是的!这样就没有问题了!运行得很好了!
为什么会这样啊???

如果不加m_xlSheet,那cells是谁的呢?这就和你那range一样。