|
▼シオ野郎 さん:
>質問した内容は、上司からの問題で「1列に連続した数字の足算」をプログラムしろとの事・・・。
上司からの課題をここで質問するのは、どうかと思いますが…
>segさんの言うとおり、空白が含まれる列の合計を出したいんです。
>>ans = Application.WorksheetFunction.Sum(Range(Cells(1, 1), Cells(9, 1)))
>これだと列も行数も限定しちゃってるから駄目って言われると思います・・・。
その通りですね、上記のような汎用性の無い物は使い物になりません。
構造を見て汎用的に組むのは貴方の仕事です。
>あと、上司が言うには「1行ずつ足していき、空白があれば飛ばす(みたいな?)感じで組み立てろ」とのことでした。
上司の仰りたいことはおそらく、"=SUM"で実現出来る事を、マクロで書け。
つまり、その処理内容を理解させようとされてるのではないでしょうか。
Sub test()
Dim nRows As Long ' Integerで宣言するとオーバーフローを起こします
Dim sum As Long
For i = 1 To Range("A1").SpecialCells(xlCellTypeLastCell).Row
If (IsNumeric(Cells(i, 1).Value) = True) Then
sum = sum + CLng(Cells(i, 1).Value)
End If
Next
End Sub
上記コードは完璧では、ありません。
内容を理解し、自分なりのコードで書き直してください。
|
|