List VBA-检查sheet1中的变量范围,并在sheet2上创建变量每次出现的列表
我要做的是检查sheet1,column3中我在sheet2上定义为combobox1.value的变量 我希望宏每次在sheet2上的sheet1中找到combobox1的值以及2个偏移值时都列出 我完全迷路了,在堆栈溢出上找不到类似的东西List VBA-检查sheet1中的变量范围,并在sheet2上创建变量每次出现的列表,list,vba,List,Vba,我要做的是检查sheet1,column3中我在sheet2上定义为combobox1.value的变量 我希望宏每次在sheet2上的sheet1中找到combobox1的值以及2个偏移值时都列出 我完全迷路了,在堆栈溢出上找不到类似的东西 Sub make_list() Dim grower As String Dim r As Range grower = Sheets("Grower Reporting").ComboBox1.Value Set r = Sheets("G
Sub make_list()
Dim grower As String
Dim r As Range
grower = Sheets("Grower Reporting").ComboBox1.Value
Set r = Sheets("Grower Rejection Data").Range("E:E").Find(grower, Range("e1"), _
LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext)
i = 1
If Not r Is Nothing Then
firstAddress = r.Address
Do
'Add cell references to a list on sheet1 column E.
Sheets("Sheet1").Cells(i, 5).Value = Sheets("Grower Rejection Data").Cells(r.Row, 3).Address
'Add any additional offset values here
i = i + 1
Set r = Sheets("Grower Rejection Data").Range("e:e").FindNext(r)
Loop While Not r Is Nothing And r.Address <> firstAddress
End If
End Sub
子制造清单()
暗种植者
调光范围
种植者=表(“种植者报告”).ComboBox1.Value
设置r=表格(“种植者拒绝数据”)。范围(“E:E”)。查找(种植者,范围(“e1”)_
LookIn:=xlValues,lookat:=xlother,searchdirection:=xlNext)
i=1
如果不是的话,r什么都不是
firstAddress=r.地址
做
'将单元格引用添加到sheet1 E列上的列表。
表(“表1”)。单元格(i,5)。值=表(“种植者拒绝数据”)。单元格(r.行,3)。地址
'在此处添加任何其他偏移值
i=i+1
设置r=表格(“种植者拒绝数据”)。范围(“e:e”)。查找范围(r)
循环而非r为Nothing,r.Address为firstAddress
如果结束
端接头
我想做的是在表格“种植者拒绝数据”的e列中检查“种植者”变量出现的次数,并从单元格h31开始在表格“种植者报告”中列出每次出现的次数。我希望这有助于让我更清楚地了解我在尝试什么。听起来这就是你想要的:
Set R = Sheets("Grower Rejection Data").Range("E:E").Find(grower, Range("E1"), _ LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext)
i = 31
If Not R Is Nothing Then
firstAddress = R.Address
Do
Sheets("Grower Reporting").Cells(i, 38).Value = R.Value
Sheets("Grower Reporting").Cells(i, 39).Value = R.Offset(0,1).Value
Sheets("Grower Reporting").Cells(i, 40).Value = R.Offset(0,2).Value
i = i + 1
Set R = Sheets("Grower Rejection Data").Range("E:E").FindNext(R)
Loop While Not R Is Nothing And R.Address <> firstAddress
End If
Set R=Sheets(“种植者拒绝数据”).Range(“E:E”).Find(种植者,Range(“E1”),LookIn:=xlValues,lookat:=xlother,searchdirection:=xlNext)
i=31
如果不是的话,R什么都不是
firstAddress=R.地址
做
表(“种植者报告”)。单元格(i,38)。值=R.值
表(“种植者报告”)。单元格(i,39)。值=R.偏移量(0,1)。值
表(“种植者报告”)。单元格(i,40)。值=R.偏移量(0,2)。值
i=i+1
设置R=表格(“种植者拒绝数据”)。范围(“E:E”)。查找范围(R)
循环而非R为Nothing,R.Address为firstAddress
如果结束
您尝试过什么?您需要查看的函数有expression.Find
和expression.FindNext
,其中expression表示范围
对象。我尝试将r命名为范围,以检查特定列中变量的实例。我能够得到识别变量的函数,但如何生成每个事件的列表及其相邻单元格的值却让我感到困惑。我会试试你上面的帖子,看看我能想出什么。非常感谢!谢谢你的帮助!我试图在上面插入我的信息,但我得到了一个类型不匹配的错误。我不确定我做错了什么。正如你可能已经注意到的,我不是最强大的程序员。我已经编辑了上面的问题以提供更多细节。我感谢迄今为止所有的帮助。当您第一次设置R时,请确保您的范围匹配。例如,您的范围应该是Range(“E:E”)
和Range(“E1”)
。明白了。这似乎奏效了。请参见上面编辑的代码。现在我在“Sheet1”上得到的列表不是combobox1的值,而是单元格位置的列表,即“$c$73”等等。它的最终目的是生成一个包含种植者姓名和数据的列表,并在列表的左右两侧创建一个快速摘要。