【发布时间】:2017-12-06 11:35:24
【问题描述】:
我是 Excel-VBA 的新手,所以请原谅我的无知。 ;)
我实际上是在尝试在用户窗体中的选定工作表上运行程序。 然后程序将从选定的工作表中获取一个值,该值会将其导入到新创建的工作表中。 Sheet18 是一个工作表模板,它将被复制到新工作表中。
这是代码:
Private Sub CommandButton1_Click()
UserForm1.Hide
Dim wsUserSel As Worksheet
Dim ws As Worksheet
Dim ExFund As Variant
On Error Resume Next
Set wsUserSel = ListBox1.Value
Set ws = Sheets.Add(after:=Sheets(Sheets.Count))
On Error GoTo 0
With wsUserSel
ExFund = .Cells(107, 4).Value
End With
Sheet18.Range("A1:K126").Copy
ws.Name = InputBox("Please input the name of new worksheet.", ThisWorkbook.Name)
ws.Activate
Range("A1").Select
ActiveSheet.Paste
ActiveSheet.Cells(29, 2) = ExFund
ActiveSheet.Cells.EntireColumn.AutoFit
Application.CutCopyMode = False
End Sub
此代码返回错误
运行时错误“91”:对象变量或未设置块变量
因为这部分代码:
With wsUserSel
ExFund = .Cells(107, 4).Value
End With
我曾尝试将其放入 With 或直接使用 wsUserSel,但似乎无法正常工作。
我做错了什么?
【问题讨论】: