首页 > 解决方案 > VBA如何在用户表单中过滤和排序范围

问题描述

我是 VBA 新手,这是我的问题:

Sheet 
A          B                C
TOTO       300              Keep
JOHN       200              Keep          
JOHN       100              Keep
ROBERTO    300  

目标是在用户表单中获取此范围,以便在 C = Keep 上的过滤器并按 A 和 B 排序后为每一行创建复选框和文本框。

我已经尝试过了,但行数仍然为零:

Set rng1 = Ws.Cells

rng1.AutoFilter Field:=3, Criteria1:="Keep"
rng1.Sort Key1:=Range("A1"), Order1:=xlAscending, key2:=Range("B1"), order2:=xlAscending
For i = 1 To rng1.Row (always zero!)
        Set Obj = UserForm1.Controls.Add("forms.textbox.1")...  
        Set Obj = UserForm1.Controls.Add("forms.checkbox.1")...
Next

提前感谢您的帮助

标签: excelvba

解决方案


推荐阅读