第二次调用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