我一直试图调整VBA代码一段时间,但没有任何成功。
我想选择单元格(比如Range函数),而不是查看整个行/列。表格将被文字和图像包围,这就是为什么你会看到单词" test"围着桌子。
Sub Inventory_change()
With ThisWorkbook.Worksheets("Sheet1")
For Each Cl In .Range("A3:A9").SpecialCells(6).Offset(1).RangeSpecialCells(6)
ThisWorkbook.Worksheets("Total").Columns("C").Find(Cl.Value).Offset(, 6) = Columns("C").Find(Cl.Value).Offset(, 6) - Cl.Offset(, 1)
Next Cl
End With
从A3:A9是已售出的产品,F3:F9是销售量。
来自C6:C12是库存中的产品,H6:H12是剩余库存量。
谢谢!
答案 0 :(得分:1)
似乎就在你之后:
Dim cl As Range
With ThisWorkbook.Worksheets("Total").Columns("C") 'reference "Total" sheet columns C range
For Each cl In ThisWorkbook.Worksheets("Sheet1").Range("A3:A9").SpecialCells(xlCellTypeConstants) ' loop through "Sheet1" sheet range "A3:A9" cells with "constant" content
.Find(cl.Value).Offset(, 5) = .Find(cl.Value).Offset(, 5) - cl.Offset(, 5) ' update cells 5 columns to the right of referenced one (i.e. "Total" sheet columns H)
Next cl
End With