1
Excel-VBAを初めて使用しています。 ;)Excel-VBAの新機能:実行時エラー "91":オブジェクト変数またはブロック変数が設定されていない
実際には、ユーザーフォームから選択したシートでプログラムを実行しようとしています。 プログラムは、選択したシートから新しく作成されたシートに値をインポートします。 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ブロック変数が理由の
を設定していませんコードのこの部分:
With wsUserSel
ExFund = .Cells(107, 4).Value
End With
私はそれをwsUserSelに直接入れて使ってみましたが、うまく動作していないようです。
私は間違っていますか?
はあなたにYowE3kをありがとうございます。あなたの答えは上にあった! –