如何从工作簿中的不同工作表中获取宏拉数据。 Excel VBA

时间:2016-04-19 20:07:04

标签: excel vba excel-vba macros

我遇到了一个用于将信息从一个工作表提取到另一个工作表的宏的问题。我无法弄清楚如何让宏看看“CurrentSchedule”工作簿中的不同工作表。当我使用第1行(A行)工作表浏览宏时,一切都运行顺利,但是当我尝试通过第二张(B行)运行时,它会超时。它特意卡在行

“Order = Range(”W1“)。Offset(Count,0).Value”

SAPorder = InputBox("Enter SAP Order Number:")
ProdLine = InputBox("Enter the sheet# of CurrentSchedule that has this   SAP order number. Example: A line = 1; B = 2")
End Select
Count = 0 'Count is the row in the designated column
Flag = True
Do While Flag
Workbooks("CurrentSchedule.xlsx").Worksheets(ProdLine).Activate
Order = Range("W1").Offset(Count, 0).Value 
If Order = SAPorder Then
nme = Range("B1").Offset(Count, 0).Value 

1 个答案:

答案 0 :(得分:0)

丢掉那个愚蠢的.activate方法,学习如何使用这个

Sheets("sheetName").range("rangeName/rangeRange")[optional].cells("cellRow","cellColumn")

它可以让您的工作更轻松,然后您可以使用工作表/范围/单元格作为对象。

此外,当您使用没有点和父对齐的范围/单元格时,您使用活动工作表,这可能是非常不可预测的。因此,如果你使用上面提到的完整陈述,你就不能犯错误。