2014-11-01 8 views
1

При выполнении этого на первенствуешь 2011 для Mac, я получаю эту ошибку:Ошибка выполнения «1004» при вводе формулы

Ошибка выполнения «1004»:
Microsoft Excel не может найти соответствие данные для замены. Ни одна ячейка в списке не содержит то, что вы набрали, или никакие записи не соответствуют критериям.

Странно, что программа работает, и формула введена правильно в ячейках, которые я бы хотел.

Выделенная строка кода, когда я нажимаю на отладки является

ActiveSheet.Range("Q" & rowNum - 1).FormulaR1C1 = "=sum(R[-" & rowsToSum & "]C[-11]:RC[-11])/abs(sum(R[-" & cellsToSum & "]C[-13]:RC[-13]))/100" 

Полный цикл с ошибкой,

For rowNum = 2 To lastRow + 1 

      'checks if cells A through O in a given row are empty 
      If WorksheetFunction.CountA(Range(Cells(rowNum, 1), Cells(rowNum, 15))) = 0 Then 

      rowsToSum = 0 

      'counts how many rows need to be added by checking if they are not blank. Current rowNum will be blank, so check one above and count back up 
      While Application.Sum(Range(Cells((rowNum - rowsToSum - 1), 1), Cells((rowNum - rowsToSum - 1), 15))) <> 0 
        rowsToSum = rowsToSum + 1 
      Wend 

      cellsToSum = 0 

      'Counts how many cells need to be added by checking if G/L column. Row above blank will have a value, rows above that need to be checked until non-blank is found 
      While IsEmpty(Range("P" & rowNum - cellsToSum - 2)) 
        cellsToSum = cellsToSum + 1 
      Wend 

       rowsToSum = rowsToSum - 1 'needs to be decremented since it counted to the blank row above the current transaction 

       Range("Q" & rowNum - 1).FormulaR1C1 = "=sum(R[-" & rowsToSum & "]C[-11]:RC[-11])/abs(sum(R[-" & cellsToSum & "]C[-13]:RC[-13]))/100" 
       Range("R" & rowNum - 1).FormulaR1C1 = "=sum(R[-" & rowsToSum & "]C[-6]:RC[-6])/abs(sum(R[-" & cellsToSum & "]C[-14]:RC[-14]))/100" 
      End If 
     Next rowNum 

Вы знаете, что вызывает эту ошибку и как я могу избавиться от Это?

+0

загрузки полный код, включая информацию о rowNum, rowsToSum, CellstoSum – ZAT

+0

Загруженный код. – mks212

+0

Когда выделена выделенная строка, и что это за значение 'cellsToSum'? Это все еще 0? –

ответ

1

В течение первого цикла For rowNum = 2 To lastRow + 1Range("Q" & rowNum - 1) сотовая ссылка будет равна Range("Q1"). Если цикл, что увеличивает rowsToSum = rowsToSum + 1 увеличивается rowsTosum вообще (например,> 0), то использование rowsTosum в пределах формулы в sum(R[-" & rowsToSum & "]C[-11]:RC[-11]), казалось бы, пытаясь подвести ссылку на ячейку, которая выше строки 1.