【发布时间】:2014-02-19 13:13:46
【问题描述】:
我有一个 VBA 脚本,它打开一个用户窗体,因此用户可以选择各种单元格地址来将信息从一个文件复制到另一个文件。我正在使用 RefEdit 控件来指定单元格地址,但是当我尝试使用 Workbook.Range(UserForm.RefEdit.Value) 函数时收到对象错误,因为 RefEdit 引用的格式为“'Sheet1'!X#:X#”。我知道,如果 RefEdit 只是一系列单元格,我可以做 Workbook.Worksheet.Range(UserForm.RefEdit.Value),但 VBA 脚本用于转换具有不同工作表名称的多个文件(所以我不能使用通用 Workbook.Worksheet 字符串)。有没有办法将 RefEdit 引用与工作表名称和单元格地址一起用作范围?
这是我当前的代码:
Sub ReviseFAA()
Dim FolderPath As String, FilePath As String
Dim SourceFAA As Workbook, RevisedFAA As Workbook
FolderPath = "A:\Copy of MWO File\"
FilePath = Dir(FolderPath & "*.xls")
Do While FilePath <> ""
Workbooks.Open (FolderPath & "FAA Template.xlsx")
Set RevisedFAA = Workbooks("FAA Template.xlsx")
Workbooks.Open (FolderPath & FilePath)
Set SourceFAA = Workbooks(FilePath)
FAA_User.Show
With SourceFAA
RevisedFAA.Sheets("Repair Instruction").Range("U2:AD3") = .Range(FAA_User.ControlNumber.Value).Value
End With
FilePath = Dir
Loop
【问题讨论】:
标签: vba excel user-controls userform