使用VBA自动更新Excel表

时间:2018-06-21 16:24:22

标签: excel vba excel-vba

因此,我正在尝试自动化一个过程,当您单击命令按钮时,它将运行此宏。

我的目标是首先检查最上面的空白单元格的值的第一个范围(在本例中为C23和C69之间)中添加最新日期。一旦填充了一个空单元格,我就想杀死该宏。

从那里,在下一列中,我要向D23到D69内的最新空单元格中添加某个单元格值(F21)。与上述相同,一旦填充了一个空单元格,我就想杀死该宏。

一旦给出这些值,我就可以结束代码。 我可以用Java编写此代码,但是我不知道如何在excel vba中将其设置为宏,因此任何帮助都将非常有用!谢谢!

这是我当前的代码(肯定非常错误)

Sub ChartAdder()

Dim i As Range
For i = C23 To C69
    If IsEmpty(i) Then
        i = LastSavedATimeStamp()
    break

    Else
    keep going

Dim j As Range
For j = D23 To D69
    If IsEmpty(j) Then
        j = F21
    break

    Else
    keep going   

End Sub

2 个答案:

答案 0 :(得分:1)

这里有一些更正,可以帮助您获得一些更适合我认为您打算做的事情的东西。如果您使用JavaScript编写代码,那可能会有所帮助。

Sub ChartAdder()

    Dim i As Range

    For Each i In Range("C23:C69").Cells
        If IsEmpty(i) Then
            i = Date
        break

        Exit For

        End If

    Next i


    Dim j As Range
    For Each j In Range("D23:D69").Cells
        If IsEmpty(j) Then

            '
            j.Value = Range("F21").Value

        Exit For

        End If

    Next j

End Sub

答案 1 :(得分:0)

感谢您的帮助!我能够得到一个功能性的答案:D

Sub ChartAdder()

a = Date
b = F21
Dim i As Range

For Each i In Range("C23:C69").Cells
    If IsEmpty(i) Then
    i = a
    Exit For
    'Exit Sub will kill the whole macro
    'break

    End If

Next i


Dim j As Range
For Each j In Range("D23:D69").Cells
    If IsEmpty(j) Then
    .Value = Range("F21").Value
    Exit For
    'Exit Sub will kill the whole macro
    'break

    End If

Next j

End Sub