将VBA转换为Google Apps脚本

时间:2014-06-19 04:21:51

标签: javascript excel vba excel-vba google-apps-script

我的VBA代码如下。我不知道它是如何工作的,但我想将其转换为Google表格。

我希望有人可以:

  • 向我解释一下VBA正在做什么,以便我可以推断它足以将其编程为Google Apps脚本,

  • 告诉我如何通过Google表格实现相同的VBA功能。


Function getData(targetName As String, targetSheet As String, targetDate)
Application.Volatile True
Dim res As Double
Dim col As Integer
Dim cell As Range
Dim names As Range

Dim lastrow As Long

With ThisWorkbook.Worksheets(targetSheet)
    lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
    col = Application.Match(targetDate, .Range("4:4"), 0)
    If col = 0 Then
        getData = CVErr(xlErrNA)
        Exit Function
    End If
    Set names = .Range(.Cells(4, "A"), .Cells(lastrow, "A"))

    For Each cell In names
        If cell = targetName Then
            res = res + cell.Offset(, col - 1)
        End If
    Next cell
End With

getData = res
End Function

以下是使用该函数的示例excel文件的链接: https://www.dropbox.com/s/h5vcjv9tlh1vvg7/Resources%20and%20Projects%20Full%20Example.xlsm

1 个答案:

答案 0 :(得分:1)

虽然我不熟悉Google Apps脚本,但我可以帮助您完成第一部分。

该函数的重点似乎是将A列中找到的name与作为参数传入的targetName匹配的所有值相加,而第4行中找到的date匹配{ {1}},这也是一个参数。 (行由targetDate确定,列由name确定。)总值将以date的形式返回。

这是逐行评论。

double