使用 SUMIF 公式的 VBA 错误代码 1004

时间:2021-03-26 09:43:06

标签: vba

我需要你的帮助。 我正在用 VBA 编写一小段代码以在 RPA 过程中使用。 我已经在 Excel 中测试了我的公式并且它有效,但是每次当我尝试从 VBA 运行它时它都会崩溃并显示错误代码 1004 并告诉我问题出在代码 .Range("C29").Formula = " =SUMIF(Sheet1!$A$19:$A$1000;$B29;Sheet1!$G$19:$G$1000)"

将公式更改为简单的公式,效果很好。 还有其他人知道这个问题吗?

Sub FillDown()

    Dim strFormulas '(1 To 3) As Variant 

    With ThisWorkbook.Sheets("MainSheet")


        .Range("C29").Formula = "=SUMIF(Sheet1!$A$19:$A$1000;$B29;Sheet1!$G$19:$G$1000)"
 
        .Range("C29:C501").FillDown
    End With


End Sub

2 个答案:

答案 0 :(得分:0)

检查您的 SUMIF 公式。它包含错误。您的想法是 <script> var lat = 34.5328, lng = 69.1658; $("#city").on('change', function (getcity) { var city = $(this).val(); if (city) { $.ajax({ url: "cityGeoSelect.php", type: "POST", cache: true, data: {city:city}, dataType : 'json', success: function(coord){ lat = coord.lat; lng = coord.lng; population = coord.population; mapboxgl.accessToken = '<<mapboxtokenhere>>'; var map = new mapboxgl.Map({ container: 'map', style: '<<mapboxstylehere>>', center: [lng,lat], zoom: population, interactive: false, }); var geojson = []; var geojson = $.getJSON('geoBuildSelect.php?q='+city); geojson.features.forEach(function (marker) { // add marker to map new mapboxgl.Marker() .setLngLat(marker.geometry.coordinates) .addTo(map); }); } }) } }); </script> 吗??

答案 1 :(得分:0)

Sub FillDown2()
    
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("MainSheet")
     
    ws.Range("C29").FormulaLocal = "=SUMIF(Sheet1!$A$19:$A$1000;$B29;Sheet1!$G$19:$G$1000)"
    ws.Range("C29:C501").FillDown
End Sub

所以问题是基于我的工作表的设置。 通过添加公式本地,至少我现在不再有错误了,到下一个问题 xD