我想清除一个单元格,然后将值分配给它

Sub Clear_Table(ct) Range(ct).Select 'Range(Selection, Selection.End(xlToRight)).Select 'Range(Selection, Selection.End(xlDown)).Select Selection.ClearContents Range(ct).Select End Sub Sub rite() Clear_Table ("E10") Range("E10").Value = "dwsds" End Sub 

得到编译错误:参数不是可选的(只想清除单元格中的值而不是整个范围,并将该值放在该单元格中,请帮助)

这是可以做这个工作的东西:

 Option Explicit Sub Clear_Table(ct As Range) ct.ClearContents End Sub Sub rite() Clear_Table Range("E10") Range("E10").Value = "dwsds" End Sub 

尽量避免select尽可能多的。 在这里了解更多 – 如何避免在Excel VBA中使用select