将代码动态添加到新的 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 事件模块。 SheetChangeSheetSelectionChange

【讨论】:

以上是关于将代码动态添加到新的 Excel 工作表的主要内容,如果未能解决你的问题,请参考以下文章

动态添加基于工作表名称的新表单控件复选框(Excel VBA)

Excel如何用函数或公式将原始数据表中的数据分类同步到新的工作表中?

如何在Android中动态添加表中的字段?

Excel如何用函数或公式将原始数据表中的数据分类同步到新的工作表中?是不是可以用filter函数解决?

VBA excel添加新工作表并删除原来的

如何将EXCEL表按另一个EXCEL表中的内容进行搜索,然后将结果复制到新的工作表中?