将代码动态添加到新的 Excel 工作表
Posted
技术标签:
【中文标题】将代码动态添加到新的 Excel 工作表【英文标题】:Adding code to new excel sheet dynamically 【发布时间】:2013-02-26 06:24:38 【问题描述】:我需要一些关于 VBA 的帮助。 在我的代码中,我添加了一个 excel 表并将其重命名并向其中添加了一个验证列表。我需要在该验证列表中更改值时运行一些代码。并且必须仅在更改该特定单元格时运行。 如果我不清楚,请告诉我。请帮我解决这个问题。
【问题讨论】:
如果您想将代码动态添加到工作表中,请从这里开始:cpearson.com/excel/vbe.aspx 嗨@Tim Williams,为此我需要将代码添加到特定的工作表中。在这里,我面临另一个问题。我可以通过引用工作表索引来添加代码。当我重命名工作表时,工作表索引和位置总是不一样的,我怎么能这样做。有什么方法可以获取工作表索引。一些功能等等,??? 您能否进一步说明您的问题?添加和重命名(复制的?)工作表后,您究竟需要添加什么到此工作表?为什么? 我正在通过在按钮 CLick 上调用宏来创建“新”工作表。因此,在创建工作表本身时,我需要为“Worksheet_change”事件添加一些代码 但是每个新工作表的 worksheet_change 事件是否几乎相同? (ps:请回复@peteralbert,否则我不会收到通知) 【参考方案1】:不要尝试使用 Visual Basic 可扩展性为每个新工作表创建单独的代码(请参阅this link 以进一步阅读),只需使用工作簿范围的事件Workbook_SheetChange
(您需要将其放在ThisWorkbook
模块)。
在此事件代码中,首先检查导致该事件的工作表是否是新创建的工作表之一。这可以很容易地完成,检查工作表的.Name
。
【讨论】:
【参考方案2】:您可以使用SelectionChange
事件和Change
事件,也可以使用Thisworkbook
事件模块。 SheetChange
或 SheetSelectionChange
。
【讨论】:
以上是关于将代码动态添加到新的 Excel 工作表的主要内容,如果未能解决你的问题,请参考以下文章
动态添加基于工作表名称的新表单控件复选框(Excel VBA)
Excel如何用函数或公式将原始数据表中的数据分类同步到新的工作表中?