第二次调用Sub时,选择Range类的方法失败

问题描述:

嗨请在下面找到我的代码段。每当我需要将表名填充到工作表中时,我都会调用该子例程。所有未声明的变量(包括工作簿)都声明为PUBLIC。第二次调用Sub时,选择Range类的方法失败

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

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

请指教。

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 

最可能的原因是该工作表未处于活动状态。但是,您无需在此处选择任何内容 - 您可以直接操作单元格:

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