窗体原因运行时错误-2147352571(80020005)
我有一个从表格中自动部分填写的表格。 有一个组合,在那里select交易的数量,然后有一个文本框,我想填写合作伙伴的名字(在工作表中search)。
我花了很长时间来弄清楚我的代码中有什么问题。 最后我pipe理了代码工作,但对我来说看起来很神秘,而且不干净。
原代码:
Private Sub ComboTransaction_Change() Dim ws_su As Worksheet Set ws_su = Worksheets("Sale Unsettled") TextPartner = ws_su.Range("SaleUnsettled_Start").Offset(Application.WorksheetFunction.Match(Val(ComboTransaction), ws_su.Range("SaleUnsettled_Transactions"), 0), 1) End Sub
解决scheme”:
Private Sub ComboTransaction_Change() Dim ws_su As Worksheet Set ws_su = Worksheets("Sale Unsettled") PartnerValue = ws_su.Range("SaleUnsettled_Start").Offset(Application.WorksheetFunction.Match(Val(ComboTransaction), ws_su.Range("SaleUnsettled_Transactions"), 0), 1) TextPartner = PartnerValue End Sub
为什么我必须通过PartnerValue来实现,这对我来说是个谜。 不仅困扰我,因为它弄乱了代码(有更多的价值,我必须以同样的方式填写),但我也有另一种forms(购买等),它没有这个奇怪的补丁工作。
如果有的话,我想摆脱,如果你有什么想法是错的,我会感激你的信息。
TextPartner和PartnerValue唯一的区别是TextPartner是表单中的TextBox,而PartnerValue不是。
运行时错误意味着它是一个types不匹配。
尝试使用
TextPartner.Text = ws_su.Range("SaleUnsettled_Start").Offset( _ Application.WorksheetFunction.Match(Val(ComboTransaction), _ ws_su.Range("SaleUnsettled_Transactions"), 0), 1)