VBA在非空白和非空白之间找到空单元格。自动填充到日历时跳过周末

时间:2015-02-26 22:08:44

标签: excel

我正在尝试构建员工假期跟踪器,以便将数据从一个摘要表自动填充到Excel中构建的日历。

我有几个问题。

Firsy,当填充到日历时,我希望代码在周末跳过。

其次,如果多名员工在同一天休假。我希望能够在日期下找到下一个空白行。

日历如下所示:

calendar

还有其他日期低于日期,所以我没有使用rows.count来查找最后一个空行。

以下代码是填充多天的if和if语句的一部分。

我的代码的其他部分可以在这篇文章中找到

Auto populate multiple entries to calendar base on difference of start and end date

我试图解决上面列出的两个问题。

我是编程的初学者。有太多层次,我想知道我的代码有什么问题。

非常感谢你的帮助!

 For i = 1 To TotalDaysOff

        If Weekday(startDate + (i - 2), vbMonday) < 6 Then

            With Sheets(sSheet)
                Set R = .Range("A1:H58").Find(startDate + (i - 2))
                If Not R Is Nothing Then

                    If IsEmpty(R.row + 1) Then
                        Sheets(sSheet).Cells(R.row + 1, R.Column).Value = Employee & " " & Reason & " " & Time

                    Else
                        Sheets(sSheet).Cells(R.row + 2, R.Column).Value = Employee & " " & Reason & " " & Time

                    End If


                 End If

            End With

         Else
         End If

   Next i

End If

1 个答案:

答案 0 :(得分:0)

不确定这是否是答案..但我认为以下内容可以帮助

Count number of blank cells in row between last cell and next non-blank cell

如果你可以计算,如果计数返回零,那么你可能需要找到另一个单元来输出数据。 如果计数大于零,那么您可以尝试通过IF语句定位单元格,如同一个问题中所述。