Excel VBA新增:运行时错误“;91“是的:对象变量或未设置块变量
我对Excel VBA不熟悉,请原谅我的无知 实际上,我正试图从一个UserForm在所选的工作表上运行一个程序。 然后,程序将从所选图纸中获取一个值,该值将导入到新创建的图纸中。Sheet18是一个图纸模板,它将被复制到新图纸中 以下是代码:Excel VBA新增:运行时错误“;91“是的:对象变量或未设置块变量,vba,excel,Vba,Excel,我对Excel VBA不熟悉,请原谅我的无知 实际上,我正试图从一个UserForm在所选的工作表上运行一个程序。 然后,程序将从所选图纸中获取一个值,该值将导入到新创建的图纸中。Sheet18是一个图纸模板,它将被复制到新图纸中 以下是代码: Private Sub CommandButton1_Click() UserForm1.Hide Dim wsUserSel As Worksheet Dim ws As Worksheet Dim ExFund As Variant
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
我试着直接使用wsUserSel将它放在里面,但我似乎无法让它工作
我做错了什么?你的
错误恢复下一步
语句掩盖了你在线上遇到的错误
Set wsUserSel = ListBox1.Value
该行将失败,因为ListBox1.Value
将不是工作表
对象。我假设是一个字符串
,指定要使用的工作表
因此,将这一部分改为:
On Error Resume Next
Set wsUserSel = ListBox1.Value
Set ws = Sheets.Add(after:=Sheets(Sheets.Count))
On Error GoTo 0
将是:
Set wsUserSel = Worksheets(ListBox1.Value)
Set ws = Sheets.Add(after:=Sheets(Sheets.Count))
谢谢你。你的回答恰到好处!