Excel VBA – Inputbox不将数据写入单元格

我在Workbook_Open上运行一个只读的模板文件,将被重新用于新的客户端。 我得到一个错误的Name = .Range("L2")线,说:“运行时错误'91':对象variables或块variables未设置”,我不完全知道它为什么会出现那样。 我相信我只是简单地忽略了一些非常简单的东西,但任何帮助将不胜感激,如果有更有效的方式来编写这个代码让我知道。 我渴望学习。

 Private Sub Workbook_Open() Dim tB As Workbook Dim ws As Worksheet Dim DailyWS As Worksheet Dim Client As String Dim Name As Range Set tB = ThisWorkbook With tB Set DailyWS = .Sheets("Daily Tracker") End With 'tB With DailyWS Name = .Range("L2") End With 'DailyWS If Len(Name.Value) = 0 Then Client = InputBox("Enter your name :", "Client's Name Please.") If Len(Client) = 0 Then 'Checking if Length of name is 0 characters MsgBox "Please enter a valid name!", vbCritical Goto Tryagain End If Name.Value = Client If Client = vbNullString Then MsgBox ("DO NOT CONTINUE!" & _ "" & vbCrLf & _ "DO NOT SAVE THIS FILE! " & vbCrLf & _ "" & vbCrLf & _ "AT PROMPT PLEASE ENTER A NAME!" & vbCrLf & _ ""), vbOKOnly + vbCritical, "!! Name Required !!" Goto Tryagain End If Else MsgBox "Not Empty (Test)" End End If end sub 

Name是一个范围对象,所有对象都需要设置:

 Set Name = .Range("L2") 

一个注意,我会小心使用vba中使用的单词。 Name被用在许多地方。 我会使用一个不会replace现有命令的variables,比如Nme