以下是引用ixus在2006-12-11 15:25:23的发言:同一段代码: Sheets(1).Visible = True Sheets(1).Select Range("A1").Select ActiveCell.FormulaR1C1 = Sheets(2).Range("J1").Value Selection.AutoFill Destination:=Range("A1:T1"), Type:=xlFillDefault Range("A1:T1").Select Selection.AutoFill Destination:=Range("A1:T200") Sheets(1).Visible = False 放在Private Sub Workbook_Open() End Sub 里面可以运行,为什么放到 Private Sub CommandButton1_Click() End Sub 里就提示range的select方法无效呢?请高手解答,或者实现相同的功能,如何简化以上代码,不胜感激!
你的CommandButton1可能在某一个工作表下面,如你的工作表为sheet10,而你这样选择时 Sheets(1).Select Range("A1").Select 第一个工作表选择了,下面这一句就出现问题,你的本意是sheets(1)下面的a1选择,而由于代码在工作表下,range表示的当前工作表的单元格,即sheet10的a1,由于sheet10未选择,故a1选择不了,可以修改 Sheets(1).Select sheets(1).Range("A1").Select 其他类似修改,每个单元格前面都得加上sheets(1) 或者把上面的代码放在模块里,只要不要特定的工作表里即可! |