Excel 使用R1C1和清除工作表末尾范围的格式的正确语法是什么?

Excel 使用R1C1和清除工作表末尾范围的格式的正确语法是什么?,excel,vba,Excel,Vba,我正在制作一个宏,通过删除创建非常大文件大小的未使用范围来优化工作表。它通过查找上次使用的行列,选择从上次使用的行列到图纸右下角的范围,清除格式并删除这些单元格来删除占用空间的未使用区域 例如,如果最后使用的行为50,则选择工作表aka XFD104873右下角的范围A50,清除这些格式并删除范围 我已经能够对行执行此操作,但不能对列执行此操作。在下面的代码中,当案例2运行时,我得到了一个语法错误,如下所示为“syntax error”,我一辈子都不知道为什么 我需要使用R1C1表示法,但由于某

我正在制作一个宏,通过删除创建非常大文件大小的未使用范围来优化工作表。它通过查找上次使用的行列,选择从上次使用的行列到图纸右下角的范围,清除格式并删除这些单元格来删除占用空间的未使用区域

例如,如果最后使用的行为50,则选择工作表aka XFD104873右下角的范围A50,清除这些格式并删除范围

我已经能够对行执行此操作,但不能对列执行此操作。在下面的代码中,当案例2运行时,我得到了一个语法错误,如下所示为“syntax error”,我一辈子都不知道为什么

我需要使用R1C1表示法,但由于某些原因,RangeCell无法正确拾取它

我想这与我做RangeCell的第二部分有关,.EndxlDown.endToright

如果我能提供任何其他信息,请告诉我

尼克

要删除列,请执行以下操作:

With Worksheets(sht)
    .Range(.Cells(1, lc + 1), _
           .Cells(1, lc +1 ).End(xlToRight)).EntireColumn.Delete
End With

这似乎不起作用。我得到编译错误:当我在.Range.Cells1,lc+1之后按Enter键时,应该是:表达式,单元格前面应该有一个句点吗?更新把它全部放在一行工程中,而不是头我错过了这一行,谢谢!!细胞前的周期是什么?它是否将其与With语句中的工作表相关联?是-句点将单元格链接到With语句-否则,单元格默认为ActiveSheet,它可能不是您想要的工作表,如果与sheet2不同,则可能会导致错误
With Worksheets(sht)
    .Range(.Cells(1, lc + 1), _
           .Cells(1, lc +1 ).End(xlToRight)).EntireColumn.Delete
End With