Excel 用于更新工作簿上的列的VBA代码\u Open

Excel 用于更新工作簿上的列的VBA代码\u Open,excel,vba,Excel,Vba,十多年前,我在高中的时候做过一些VB.NET,我一直在用VBA来改进我们工作场所使用的请求跟踪器。当我陷入困境时,通过谷歌搜索寻找答案的尝试和错误对我很有帮助,但我一辈子都无法解决这个问题 我想在打开工作簿时运行一些代码来更新特定列中的单元格。我在工作表_Change事件中使用了此功能,但这会使它运行得太频繁,而且随着记录数量的增加,我担心这会减慢速度 我的问题是,当我不在工作表代码中时,我不知道引用列的语法。我(无力)的尝试如下: Private Sub Workboo

十多年前,我在高中的时候做过一些VB.NET,我一直在用VBA来改进我们工作场所使用的请求跟踪器。当我陷入困境时,通过谷歌搜索寻找答案的尝试和错误对我很有帮助,但我一辈子都无法解决这个问题

我想在打开工作簿时运行一些代码来更新特定列中的单元格。我在工作表_Change事件中使用了此功能,但这会使它运行得太频繁,而且随着记录数量的增加,我担心这会减慢速度

我的问题是,当我不在工作表代码中时,我不知道引用列的语法。我(无力)的尝试如下:

            Private Sub Workbook_Open()
                If ThisWorkbook.Sheets("2016").Columns(10).Value = "x" Then
                    ThisWorkbook.Sheets("2016").Columns(11).Value = Application.WorksheetFunction.NetworkDays(ThisWorkbook.Sheets("2016").Columns(7).Value, Date) - 1
                End If
            End Sub

其思想是,如果第J列包含x列,则第K列应显示G列中的值(记录请求日期)与今天日期之间的工作日数,以便显示请求未完成的时间

无需宏,可以使用以下公式完成

=IF(J1=“x”,网络天数(G1,文本(NOW(),“mm/dd/yyyy”))-1)