使用For Each

时间:2018-08-31 08:38:24

标签: excel excel-vba foreach overflow

我已经使用Excel为生产车间的工程人员,程序员和工作准备人员创建了通讯工具。它已经正常工作了一段时间,但现在出现了错误6溢出。

此通信工具使用3个不同的Excel,一个用于生产以发送反馈,一个用于收集所有数据,然后一个用作门户以查看反馈并在实现时注销反馈。

我尝试了几项操作,例如将Exit For和Lastrow放到Range中,但随后它不再填充列表框。

已经运行了一段时间的代码,但对于具有更多行的其他部门仍然有效。

  Private Sub UserForm_Initialize()

 Dim myData As Workbook 
 Set myData = Workbooks.Open("R:\Production\Productieleiding\Nietverplaatsen!\Terugkoppeling productie.xlsm") 
 Sheets("Archief").Select 
 ActiveSheet.ListObjects("Tabel2").AutoFilter.ShowAllData

 Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row 
 Range("B2:H" & LastRow).Sort key1:=Range("C2:C" & LastRow), _    
 order1:=xlAscending, Header:=xlYes


Dim cMatrijs As Range
Dim ws As Worksheet Set ws = Worksheets("Archief")

'the line below is the loop where the overflow occurs!!!    

For Each cMatrijs In ws.Range("MatrijsLists2")
  With Me.ListBox
      .AddItem cMatrijs.Value
       .List(.ListCount - 1, 1) = cMatrijs.Offset(0, 1).Value

   End With
 Next cMatrijs


  Me.ScrollBars = fmScrollBarsBoth 
  Me.ScrollHeight = Me.InsideHeight *1.1 
  'Me.ScrollWidth = Me.InsideWidth * 2 
   myData.Close

   End Sub

0 个答案:

没有答案