使用ActiveSheet.Range()。Value

时间:2017-04-22 14:57:02

标签: excel vba excel-vba excel-formula

我试图用一个公式填充2个单元格。

目前我有这些代码尝试使这项工作......

 A = ActiveCell.Row
cell = [column] + A
ActiveSheet.Range("&[cell]&").Value = afstandmeting

Column是包含第二个单元格列的给定字符串。 'cell'是一个字符串,以“BX2130”为例。 我想使用'cell'作为'Activesheet.Range()。value

的参数

有没有办法让这项工作?

修改

目前我正在尝试这个,但这似乎也不起作用......

A = ActiveCell.Row
cell = [column] + A
ActiveSheet.Range([cell]).Select
ActiveCell.Value = afstandmeting
reistijd = Application.WorksheetFunction.RoundUp([reistijd], 0)

'reistijd'是第一个细胞的值。 它不会让我把'afstandmeting'放在第二个单元格中

编辑2

要确保您收到相同的错误,请在此处查看完整代码

Public Function reistijd(van As String, naar As String, col As String) As String
With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", "https://maps.googleapis.com/maps/api/geocode/xml?address=" & [naar] & ",%20Nederland&key=AIzaSyArx6tiN8kQZkhwrWFg7PfB_5G04WAd6qI", False
    .send
    endpoint = CStr(.responseXML.SelectSingleNode("//place_id").Text)

    CreateObject ("MSXML2.XMLHTTP")
    .Open "GET", "https://maps.googleapis.com/maps/api/distancematrix/xml?units=metric&origins=place_id:" & [van] & "&destinations=place_id:" & [endpoint] & "&key=AIzaSyAV-Ra-J0MlT83FL3JDcz6-hEV9Vk4a7yE", False
    .send
    afstandmeting = CDbl(.responseXML.SelectSingleNode("//element/distance/value").Text) / 1000
    reistijd = CStr(.responseXML.SelectSingleNode("//element/distance/value").Text) / 60
End With
A = ActiveCell.Row
cell = col & A
ActiveSheet.Range(cell).Value = afstandmeting
reistijd = Application.WorksheetFunction.RoundUp([reistijd], 0)End Function

1 个答案:

答案 0 :(得分:0)

它应该是这样的:

Dim A as Long
Dim cell as string
Dim col as string
Dim afstandmeting as String

col = "BX"
A = ActiveCell.Row
cell = col & A
afstandmeting = "=SUM(A1:B1)"

ActiveSheet.Range(cell).Formula = afstandmeting