Excel 为什么VBA循环查找空单元格删除标题行值?
我有一个工作簿,每个分支机构都有自己的选项卡。每个选项卡都有用于面试的可用日期的行标题,以及用于可用时间的列标题。详情如下: 从那里,我使用一个用户表单从下拉列表中收集分支机构名称(通过循环表格名称填充)、可用日期(获取已标识表格上的日期),然后是给定日期的空白时间 出于某种原因,每次选择日期时,都会将日期单元格设置为“”或空白。谁能验证我的语法是否正确?我不知道它可能在哪里设置为空白。。。谢谢Excel 为什么VBA循环查找空单元格删除标题行值?,excel,vba,Excel,Vba,我有一个工作簿,每个分支机构都有自己的选项卡。每个选项卡都有用于面试的可用日期的行标题,以及用于可用时间的列标题。详情如下: 从那里,我使用一个用户表单从下拉列表中收集分支机构名称(通过循环表格名称填充)、可用日期(获取已标识表格上的日期),然后是给定日期的空白时间 出于某种原因,每次选择日期时,都会将日期单元格设置为“”或空白。谁能验证我的语法是否正确?我不知道它可能在哪里设置为空白。。。谢谢 Option Explicit Public Sub UserForm_Initialize()D
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)
这就解决了!谢谢!