vba - 循环遍历 ListObject
问题描述
我无法使用 ListObjects 遍历我的表。
我有一个嵌套在 For Each 循环中的 If 循环中的 For 循环。我正在尝试根据相邻列中的值将数据添加到表中。我已经抛出了一些 Debug.print 语句来确定整个嵌套是否有效,但我无法让最后一个 For 循环运行。“Works2”将不会打印。VBA 显示所有变量的数据,我没有收到任何错误。
Public Sub StockDays()
Dim wb As Workbook
Dim ws As Worksheet
Dim loc As Range
Dim tbl As ListObject
Dim quarter, i, countrows As Integer
Set wb = Workbooks("DISTRIBUTOR REWORK DRAFT.xlsm")
Set ws = wb.ActiveSheet
Set loc = ws.Range("A1:C50").Find("Days of Stock") 'I use this further in the program
countrows = ws.ListObjects(1).Range.Rows.count
quarter = DatePart("q", Date)
For Each tbl In ws.ListObjects
Debug.Print "Works"
If Mid(tbl.Name, 5, 1) = quarter Then
For i = 2 To countrows
Debug.Print "Works2"
ws.ListObjects("DFCREDPAR").DataBodyRange.Cells(i, ws.ListObjects("DFCREDPAR").ListColumns("Days of Stock").Index) = ws.ListObjects("DFCREDPAR").Range.Cells(i, 2) / tbl.Range.Cells(i, 3)
Next i
End If
Next tbl
For Each tbl In ws.ListObjects: Debug.Print tbl.Name & vbTab & tbl.HeaderRowRange.Address & vbTab & tbl.DataBodyRange.Address: Next
End Sub
我检查了所有数据类型并相信它们都是正确的(没有类型不匹配)。
任何帮助将不胜感激!
解决方案
推荐阅读
- python - CSV:替代python中的excel“IF”语句。阅读列并使用 numpy.where 或其他功能创建一个新列
- list - 使用列表可重新排序的 SliverGrid
- fullcalendar - FullCalendar 调度程序 - nowIndicator 仅适用于作为 Day 的 initialView
- ember.js - 如何将 node.js child_process 导入 Ember Electron 应用程序?
- java - 如何从属性文件访问 gson SerializedName 注释值
- python - Python:PyCUDA 错误:模块清理时上下文堆栈不为空
- python - 如何连接来自两个熊猫数据框的 numpy 数组
- azure - 如何允许通过 Azure DevOps REST API 访问“安全文件”?
- javascript - 对象可能是“未定义的”threejs morphtargetinfluence
- python - 信息不存储在数据库中。姜戈