Excel VBA - 基于活动单元格运行宏

时间:2015-06-24 17:24:26

标签: excel vba excel-vba

我正在创建一个Excel宏,它将根据几个条件过滤源工作表。基本上,宏说如果你在福特表中,请转到源表并过滤福特。那部分很容易。我正在努力的是告诉它根据活动单元过滤源表。所以......

如果ActiveCell是A1,请转到源并执行X个条件的过滤器,否则如果ActiveCell是B1,则转到源并执行此其他过滤器,依此类推。

这是我到目前为止所拥有的:

If ActiveCell = Range("C36") Then
    Sheets("Source-Cars").Select
        'Unfilter data
        Application.Goto (Sheets("Source-Cars").Range("A1"))
        If ActiveSheet.FilterMode Then 
           ActiveSheet.ShowAllData
        end if
end if

这里的问题是ActiveCell = Range(“C36”)正在查看该单元格的值,而不是我是否选择了单元格。因此,如果我选择与C36具有相同值的另一个单元格,它将执行过滤器而不是返回我内置的错误消息框。

关于如何根据哪个单元处于活动状态(相对于所述单元的值)运行逻辑的想法?谢谢!

1 个答案:

答案 0 :(得分:0)

您想使用ActiveCell.Address 它会告诉你价值$ A $ 1,然后你可以在比较中使用它。

尝试此示例代码以查看返回值的格式:

from django.views.decorators.csrf import csrf_protect @method_decorator(csrf_protect) def post(self, request, *args, **kwargs): return SomeJson...

对于您的情况,您需要类似

的内容

Sub selectRange() MsgBox ActiveCell.Address End Sub