【发布时间】:2013-04-11 16:05:06
【问题描述】:
我正在尝试将文本框的内容从一个 workbook 复制到另一个。我将单元格值从第一个 workbook 复制到第二个没有问题,但是当我尝试复制文本框时出现 object required 错误。这个macro 正在从包含我要复制的数据的工作簿中运行。使用Excel 2007代码:
Sub UploadData()
Dim xlo As New Excel.Application
Dim xlw As New Excel.Workbook
Set xlw = xlo.Workbooks.Open("c:\myworkbook.xlsx")
xlo.Worksheets(1).Cells(2, 1) = Range("d4").Value 'Copy cell content (this works fine)
xlo.Worksheets(1).Cells(2, 2) = TextBox1.Text 'This gives me the object required error
xlw.Save
xlw.Close
Set xlo = Nothing
Set xlw = Nothing
End Sub
感谢您的帮助。
【问题讨论】:
-
您尝试使用完整的 Application.ActiveWorkbook.ActiveSheet.TextBox1?你能检查一下 ActiveWorkbook/ActiveSheet 是否不是 xlw 吗?如果是这种情况,您只需在打开另一个文档之前为您的活动文档设置一个对象。
-
试试这个
...= activesheet.TextBox1.Object.value或.Text最后的属性应该也可以工作 -
我得到一个“对象不支持此属性或方法”与您的任一解决方案 dnLL 和 KazJaw
-
但是您检查过 ActiveWorkbook/ActiveSheet 指的是什么吗?似乎它指的是
xlw(c:\myworkbook.xlsx) 而不是位于TextBox1的文档。 -
测试也更短的选项
...= Activesheet.TextBox1.Text在用户控件之前使用工作表对象很重要。但是,如果它不起作用,您能否将您的 TextBox 截屏并在此处添加指向该图片的链接?