为什么在Excel VBA中记录宏时出错?

为什么在Excel VBA中记录宏时出错?,excel,vba,Excel,Vba,我正在录制一个宏来自动生成代码行。启动宏并停止录制后,我检查代码。我立即收到一个“语法错误” 这是一个录制的宏,为什么会生成错误的代码 下面的代码就是它的记录方式 我在WindoWs 10中有Excel 2016 多谢各位 Sub FixFilter() ' ' FixFilter Macro ' ' Range("A1").Select ActiveSheet(, .(xlToRight)).Select ActiveSheet(, .(xlDown)).Select . ActiveShe

我正在录制一个宏来自动生成代码行。启动宏并停止录制后,我检查代码。我立即收到一个“语法错误”

这是一个录制的宏,为什么会生成错误的代码

下面的代码就是它的记录方式

我在WindoWs 10中有Excel 2016

多谢各位

Sub FixFilter()
'
' FixFilter Macro
'

'
Range("A1").Select
ActiveSheet(, .(xlToRight)).Select
ActiveSheet(, .(xlDown)).Select
.
ActiveSheet.Enabled  := 10
.ActiveSheet("$A$1:$T$841"). Index := 20, BringToFront := "<>"
Range("R545").Select
End Sub
subfixFilter()
'
'固定过滤器宏
'
'
范围(“A1”)。选择
活动表(,(xlToRight))。选择
活动表(,(xlDown))。选择
.
ActiveSheet.Enabled:=10
.ActiveSheet($A$1:$T$841)。索引:=20,BringToFront:“”
范围(“R545”)。选择
端接头
新录制的宏:

Sub TestFilter()
'
' TestFilter Macro
'

'
Range("A1").Select
ActiveSheet(, .(xlToRight)).Select
ActiveSheet(, .(xlDown)).Select
.
ActiveSheet.Copy  := 1
.ActiveSheet("$A$1:$T$841"). Index := 20, BringToFront := "<>"
Range("W503").Select
End Sub
子测试过滤器()
'
'TestFilter宏
'
'
范围(“A1”)。选择
活动表(,(xlToRight))。选择
活动表(,(xlDown))。选择
.
ActiveSheet.Copy:=1
.ActiveSheet($A$1:$T$841)。索引:=20,BringToFront:“”
范围(“W503”)。选择
端接头

如果有语法错误,至少试着调试一下,看看行是什么,然后把信息添加到问题中。我认为一行上的点本身就是你的问题。尝试删除整行,保存并重试。我敢说,您在保存电子表格时,无意中击中了宏中的点并保存了它。这一行开头的点看起来也像是打字错误:.ActiveSheet("$A…我录制了同一个宏,并按原样重新发布。它看起来是错误的。这以前从未发生过,为什么宏会生成带有语法错误的代码?有什么想法吗?如果它有语法错误-至少尝试调试它,看看这行是什么,然后将信息添加到问题中。我认为这行上的点完全是由它自己造成的如果是您的问题。请尝试删除整行并保存,然后再试一次。我敢说,您在保存电子表格时无意中击中了宏中的点并保存了它。这行开头的点看起来也像一个打字错误:.ActiveSheet(“$A…我录制了同一个宏,并按原样重新发布。它看起来是错误的。这以前从未发生过,为什么宏会生成语法错误的代码?有什么想法吗?”?