VBA智慧办公6——日期自动更新及数据每日更新

目录

前情提要

VBA获取当前日期

正文测试

目标要求

获取最新行 

获取时间

时间格式录入

总代码

效果


前情提要

VBA获取当前日期

Dim today As Date  
today = Date

在这个示例中,我们首先声明了一个名为todayDate对象,然后将其赋值给变量today。这将返回当前日期和时间。

您还可以使用Now函数来获取当前日期和时间。以下是一个示例代码,演示如何获取当前日期和时间:

Dim today As Date  
today = Now

在这个示例中,我们首先声明了一个名为todayDate对象,然后将其赋值给变量today。这将返回当前日期和时间。

正文测试

目标要求

VBA智慧办公6——日期自动更新及数据每日更新_第1张图片

        如图,我们需要将I100:M100这五个数据通过按钮生成到B:F这五个栏目的最新行,而观察可得单纯A列的数据时间并不是连续的,而是工作日时间,因此直接下拉不可取,所以我们需要获取当前日期时间,在每天定期执行,同时我们还需要指导按钮启动的过程

获取最新行 

在VBA中,可以使用以下代码获取当前表单的最后一行数据:

Dim lastRow As Long  
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row  
MsgBox lastRow

这段代码首先使用ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row获取当前表单的最后一行,然后将其存储在lastRow变量中。最后,使用MsgBox函数显示lastRow变量的值。

请注意,这段代码假定当前表单的第一行是表头行。如果当前表单的第一行不是表头行,则需要将Rows.Count的值更改为1以包括表头行。

获取时间

在VBA中,可以使用Date对象的Today()方法获取当前日期。以下是一个示例代码:

Sub GetCurrentDate()  
    Dim today As Date  
    today = Date.Today  
    MsgBox Today ' 输出当前日期  
End Sub

在上面的代码中,我们首先定义了一个名为todayDate对象,并使用Date.Today方法获取当前日期。然后,我们将当前日期存储在today变量中,并使用MsgBox函数输出当前日期。

需要注意的是,Date对象的Today()方法返回的是当前日期,而不是今天的日期。如果需要获取今天的日期,可以使用Date.Today()方法的第二个参数指定今天的日期,例如:

Sub GetCurrentDateWithDate()  
    Dim today As Date  
    today = Date.Today()  
    MsgBox Today ' 输出今天的日期  
End Sub

在上面的代码中,我们使用Date.Today()方法获取今天的日期,并将其存储在today变量中。然后,我们使用MsgBox函数输出今天的日期。

时间格式录入

Range(stb) = Format(Now, "yyyy/mm/dd")

利用Format格式来进行Now数据的配合,在后方空格处进行格式规范和要求。

总代码

Private Sub CommandButton1_Click()
    lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    a = lastrow
    b = a + 1
    sta = "A" & a
    stb = "A" & b
    stc = "B" & b
    

    Range(sta).Select
    Selection.AutoFill Destination:=Range(sta, stb), Type:=xlFillDefault
    Range(sta, stb).Select
    Range(stb) = Format(Now, "yyyy/mm/dd")
    Range("I100:M100").Select
    Selection.Copy
    Range(stc).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False

End Sub

效果

你可能感兴趣的:(VBA技术教程专栏,VBA,windows,microsoft,excel)