在第二次调用Sub时,selectRange类的方法失败

嗨请在下面find我的一段代码。 每当我需要在工作表中填充一个表名时,我都会调用这个子例程。 所有未声明的variables(包括工作簿)都声明为PUBLIC。

在整个运行过程中,这个子程序被调用了很多次,并且第一次执行了它应该做的事情。 但是当第二次被调用时,它会抛出一个错误“select范围类的方法失败”。 不知道哪里出了问题。

注意:wb也用于其他子。 这是一个问题吗? 我是否需要分别在本地进行本地申报?

友善的build议。

Sub TNPopulate(tablename As String) tablecount = tablecount + 1 existingtable = tablename tablestart = row + 1 wb.Sheets(2).Cells(tablestart, col) = existingtable wb.Sheets(2).Cells(tablestart, col).Select Selection.Font.Bold = True With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.249977111117893 .PatternTintAndShade = 0 End With End Sub 

最可能的原因是该表不活跃。 然而,你不需要在这里select任何东西 – 你可以直接操纵单元格:

 Sub TNPopulate(tablename As String) tablecount = tablecount + 1 existingtable = tablename tablestart = Row + 1 With wb.Sheets(2).Cells(tablestart, col) .Value = existingtable .Font.Bold = True With .Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.249977111117893 .PatternTintAndShade = 0 End With End With End Sub