为什么这个VBA循环find空的单元格删除标题行值?

我有一个工作簿,每个分支机构都有自己的选项卡。 每个选项卡都有用于访问的可用date的行标题以及可用时间的列标题。 它屏幕下方显示:

在这里输入图像说明

在那里,我使用用户表单从下拉列表中收集分支名称(通过循环表单名称填充),可用date(在标识的表单上获取date)以及给定date的空白时间。

出于某种原因,每次selectdate时,都将date单元格设置为“”或空白。 任何人都可以validation我的语法? 我不知道它在哪里可以设置为空白…谢谢!

Option Explicit Public Sub UserForm_Initialize()Dim sht As Worksheet 'clear form BranchBox.Value = "" DateBox.Value = "" TimeBox.Value = "" 'populate sheet names from each branch For Each sht In ActiveWorkbook.Sheets Me.BranchBox.AddItem sht.Name Next sht End Sub Public Sub BranchBox_Change() 'populate dates Me.DateBox.List = Worksheets(BranchBox.Value).Range("A2:A31").Value End Sub Public Sub DateBox_Change() Dim dateSel As String Dim branch As String Dim sht As Worksheet Dim cel As Range Dim matchingHeader As Range branch = BranchBox.Value Set sht = ActiveWorkbook.Worksheets(branch) dateSel = DateBox.Value 'Get Row to scan Dim i As Long, rowOff As Long For i = 2 To sht.Rows.Count Set cel = sht.Cells(i, 1) If cel.Value = dateSel Then rowOff = i Exit For End If Next i 'Scan selected row for blank cells Dim cnt As Integer For i = 2 To sht.Columns.Count cel = sht.Cells(rowOff, i) If CStr(cel.Value) = "" Then Set matchingHeader = sht.Cells(1, i) TimeBox.AddItem matchingHeader.Value End If Next i Me.TimeBox.AddItem ("No Appointments Available") End Sub 

你的线

 cel = sht.Cells(rowOff, i) 

是隐含的

 cel.Value = sht.Cells(rowOff, i).Value 

我相信你打算这样做

 Set cel = sht.Cells(rowOff, i)