Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA中的“运行函数”列_Excel_Vba_Function - Fatal编程技术网

Excel VBA中的“运行函数”列

Excel VBA中的“运行函数”列,excel,vba,function,Excel,Vba,Function,我有一个可行的函数,而不是一个公式,我想逐列运行,直到“a”行中只有一个空白单元格 它应该确定我在“A”行中的日期数据的四分之一 我的职能: Function Kvartal(cel) Kvartal = Format(cel, "K" & "q" & " - " & "yyyy") End Function 到目前为止我所拥有的 Sub Sample() Dim currentSheet As Worksheet Dim lRow As Long Set

我有一个可行的函数,而不是一个公式,我想逐列运行,直到“a”行中只有一个空白单元格

它应该确定我在“A”行中的日期数据的四分之一

我的职能:

Function Kvartal(cel)
    Kvartal = Format(cel, "K" & "q" & " - " & "yyyy")

End Function
到目前为止我所拥有的

Sub Sample()
Dim currentSheet As Worksheet
Dim lRow As Long

Set currentSheet = ThisWorkbook.Sheets("Admin")

With currentSheet
    lRow = .Range("A" & .Rows.Count).End(xlUp).Row

    .Range("J2:J" & lRow).Formula = Kvartal
End With
End Sub

如果它是一个公式,这个子程序可以正常工作,但我不能让它调用函数,有人能帮我吗

也许这就是你想要做的

With currentSheet
    lRow = .Range("A" & .Rows.Count).End(xlUp).Row
    .Range("J2:J" & lRow).Formula = "=Kvartal(A2)"
End With

如果要通过VBA实现公式,还可以使用:

With ActiveSheet
    lRow = .Range("A" & .Rows.Count).End(xlUp).Row
    .Range("J2:J" & lRow).Formula = "=CONCATENATE(""K"",ROUNDUP(MONTH(A2)/3,0),"" - "",YEAR(A2))"
End With

不需要自定义功能。

谢谢!我知道这是件很容易的事。我就是看不见。