第一次张贴和真实的的初学者在VBA。
我试着写一个宏,它可以切换到下一个工作表(本质上是ctrl + pg dn函数),选择并突出显示表格中的值,然后清除内容。
我遇到的问题是宏似乎只从记录宏的地方选择一个表-而不是继续选择新工作表上的其他表。
我怎样才能得到代码来选择下一个表格呢?
Sub New_Hours()
'
' New_Hours Macro
' Moves down a sheet and removes previous hours
'
' Keyboard Shortcut: Ctrl+Shift+L
'
ActiveSheet.Next.Select
Range("Table13456789101112131415166188[[Sunday]:[Saturday]]").Select >> excel highlighted this as the problem
Selection.ClearContents
Range("E9").Select
End Sub
2条答案
按热度按时间4uqofj5v1#
清除Excel表格(
ListObject
)列fcg9iug32#
您可以将此作为学习“真正的”VBA(不是宏记录的VBA)的良好起点:
该代码检查每个工作表,以及每个工作表上的每个表(= listobject)。
然后,它获取Sunday和Saturday的列索引,以从中检索要清除的范围(= DataBodyRange,因为您只想清除数据部分-而不是头,我假设)
最后一步是清除范围的内容。
(附加提示:阅读How to avoid using select和How to avoid copy/paste会给您带来更多的见解。)