gpt4 book ai didi

vba - 运行时错误 '1004' 对象 'Range' 的方法 '_Global' 失败 - 动态表名称、循环、工作表间搜索

转载 作者:行者123 更新时间:2023-12-03 09:07:46 54 4
gpt4 key购买 nike

我不断遇到 Run-time error '1004' Method 'Range' of object '_Global' failed .

在一个名为“接收”的工作表中,我有一个具有动态名称的表(该表是工作表中唯一的东西)(表的名称会不时更改)所以我将名称更改为“invoiceTable”子程序的开始。基本上,我想遍历invoiceTable的行并根据表中的数据修改其他工作表中的数据。

invoiceTable 中的第 1 列称为“Frame”,第 5 列称为“Quantity Received”。我正在尝试根据 invoiceTable 中列出的框架遍历 invoiceTable 并更新名为“库存管理”的工作表中的数据。对于 invoiceTable 中的每个框架,我想获取“收到的数量”并将其添加到特定框架索引处的“库存管理”列 T 中。

同样,我想从“单价”标题下的 invoiceTable 中获取值,并使用 invoiceTable 中每个框架的最新购买价格更新“库存管理”列 F 中的值。

ActiveSheet.ListObjects(1).Name = "invoiceTable"

For row = 1 To Range("invoiceTable").Rows.Count
If Range("invoiceTable[Frame]")(row).Value <> 0 Then
Dim frame As String
Dim purchQ As Integer
Dim price As Long

frame = Range("invoiceTable[Frame]")(row).Value
price = Range("invoiceTable[Unit Price]")(row).Value
purchQ = Range("invoiceTable[Quantity Received]")(row).Value

Sheets("Inventory Management").Select
Range("=OFFSET('Inventory Management'!F5,MATCH(frame,'Inventory Management'!B6:B41,0),0)").Value = price
Range("=OFFSET('Inventory Management'!T5,MATCH(frame,'Inventory Management'!B6:B41,0),0)").Value = Range("=OFFSET('Inventory Management'!T5,MATCH(frame,'Inventory Management'!B6:B41,0),0)").Value + purchQ
Sheets("Receiving").Select
End If
Next

最佳答案

尝试使用此代码代替处理 Inventory Management 表的 4 行:

With Worksheets("Inventory Management")
Dim FindFrame As Range
Set FindFrame = .Range("B6:B41").Find(frame)
If Not FindFrame Is Nothing Then
.Cells(FindFrame.Row, 6) = Price
.Cells(FindFrame.Row, 20) = .Cells(FindFrame.Row, 20) + purchq
End If
End With

关于vba - 运行时错误 '1004' 对象 'Range' 的方法 '_Global' 失败 - 动态表名称、循环、工作表间搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37350885/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com