1
我有一个从表中自动部分填充的表单。有一个组合,在那里选择交易次数,然后有一个文本框,我想填写合作伙伴名称(在表格中搜索)。窗体原因运行时错误-2147352571(80020005)
我花了很长时间才弄清楚我的代码中有什么问题。最后我管理了代码工作,但它对我来说看起来很神秘,而且它不干净。
原始代码:
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
的 “解决方案”:
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做到这一点,这对我来说是一个谜。不仅它困扰我,因为它弄乱了代码(还有更多值必须以相同的方式填充),但是我也有另一种形式(Purchase等),它没有这个奇怪的补丁就可以工作。
我想摆脱如果是这样,如果你有任何想法有什么问题,我会感激你的消息。
TextPartner和PartnerValue的唯一区别在于TextPartner是表单中的TextBox,而PartnerValue不是。
运行时错误意味着它是一个类型不匹配...你尝试使用'TextPartner.Text = ws_su.Range .....'? –
谢谢彼得,这个工程。虽然我仍然不知道为什么我不需要在其他形式中使用相同的文本。将使用你的建议,它比我的解决方案好得多。 – gastan
Thx。我把它变成了一个答案。由于这个原因......你在模块顶部的代码中有任何选项语句吗? –