2016-05-20 2 views
-4

У меня проблема с моим кодом.Excel Тип mistmach 13

Sub SumZisk() 
    Dim suma As Integer 

    For i = 1 To 20 
     Set curCell = Cells(i, 3) 
     suma = suma + curCell.Value 
    Next i 


    Range("C21").Value = suma 


End Sub 

Ошибка: Тип mistmach 13

Спасибо за ответы :) каждый

+1

В какой строке есть ошибка? Я предполагаю, что одна из ячеек в диапазоне не содержит целого числа, но нет никакого способа сказать наверняка, так как вы не удосужились сказать, что содержит диапазон. Кроме того, вы действительно должны использовать «Option Explicit», а не использовать все эти неявно объявленные переменные. –

+0

@JohnColeman Номер строки: 7 –

+1

@ Dortík Ваша система нумерации неоднозначна. Для меня строка 7 является строкой 'Next i'. Кроме того, вы еще не испробовали наши исправления? Они работали? В общем, на SO, вы должны сообщить своим ответчикам о том, что работает и нет. –

ответ

2

Он работал для меня. Попробуйте использовать это с помощью Option Explicit.

Option Explicit 

Sub SumZisk() 

Dim suma As Integer 
Dim i As Integer 
Dim curCell As Range 

For i = 1 To 20 
    Set curCell = Cells(i, 3) 
    suma = suma + curCell.Value 
Next i 

Range("C21").Value = suma 


End Sub 
+0

Хотя «Option Explicit» хорош - этот код, вероятно, будет иметь точно такую ​​же ошибку типа в той же строке. Проблема не в коде - это во взаимодействии кода и диапазона. –

+0

Вы были правы относительно CInt(). Я удалил свой ответ. –

+0

@JohnColeman Вы имеете право на 'CInt()'. Этот код работал для меня. – Brian