【发布时间】:2015-07-12 11:01:34
【问题描述】:
每当 sheet1 范围内的单元格发生更改时,我都会尝试自动运行一个宏以在 sheet2 上运行。我已经尝试了很多东西,但我没有 vba 经验来知道它们有什么问题。基本上,sheet1 有我的输入,我为每个项目分配了 1-5 的优先级。 Sheet2 仅显示排名为 1、3 或 4 的项目。我使用 if 语句执行此操作,但这会在我的表中留下一堆空白行,因此我可以使用过滤器功能对空白行进行排序。如果我更改 sheet1 上的排名,我希望 sheet2 表自动更新。我编写了一个排序函数,可以适当地使用我的 sheet2 数据,但我正在努力使其自动化,以便当 sheet1 中的任何内容发生更改时它会自动更新。到目前为止,我一直在使用 worksheet_change 并且可以在 sheet1 更改时让 sheet1 重新过滤,这不是我想要的。有什么想法吗?
这是我目前的排序功能:
Sub ReSort()
With Worksheets("Sheet2")
.Range("$A$2:$D$34").AutoFilter Field:=2
.Range("$A$2:$D$34").AutoFilter Field:=2, Criteria1:="<>"
End With
End Sub
【问题讨论】:
-
请贴出你目前尝试过的代码。
-
“我写了一个函数” - 什么函数?现在如何运行?
-
请不要将macros tag 用于 MS Office / VBA。