早速なのですが、題の件です。
作業しているうえで何となく作ったVBAが動きません。
下記にコードを掲載いたします。
はじめは、なにも考えず作っていていざ動かそうとしてオーバーフローが発生いたしました。
iの宣言をintegerで宣言していて、ここかと思いLong型へ変更。
その他変数も、integerで収まらないケースが考えられるものに関してはLongに変更しました。
そして動かしてみたところ今度は型が一致しません。のエラーが発生しました。
VBAには慣れていなく、知識もなく初心者です。
何回か見直したのですが、私的には問題なく動く気がしたのですが。。。
そこで、職場のわかる人に聞いてみたのですが見当もつかないとのことでした。
単純なミスなのか、私がやりたいことはそもそもできないのか
わかる方ご教授いただけますと幸いです。
コードが見にくいかもしれません。また、基本的になっていないかもしれませんがどうかご協力お願いいたします。
Sub ikakunou()
Dim Sekibun_kaisu As Long
Dim Sekibun_hairetu() As Double
Dim Count As Long
Dim cell_num As Integer
Dim Sum As Double
Dim x As Long
Dim i As Long
Dim j As Long
Const start_pos = 5
Count = 0 Sekibun_kaisu = Range("D4") ReDim Sekibun_hairetu(Sekibun_kaisu) For x = 1 To Sekibun_kaisu Step 1 Sekibun_hairetu(x) = 0 Next For i = 1 To 61584 Step 1 Count = Count + 1 If (Count > Sekibun_kaisu) Then Count = 1 cell_num = start_pos + i Sekibun_hairetu(Count) = Cells(cell_num, 1) For j = 1 To Sekibun_kaisu Step 1 Sum = Sekibun_hairetu(j) + Sum Next Cells(cell_num, 5) = Sum Next
End Sub
以下追記
編集依頼文
coco_bauer様
2016/10/19 18:30
「型が一致しません」のエラーが発生するのは、"Sekibun_hairetu(Count) = Cells(cell_num, 1) "の部分ではないかと思います。セルに文字列等のDoubleに変換できない値が入っているためのエラーだと思いますから、エラーが発生した位置のセルの内容を確認してみてください。
上記のことで解決いたしました。
シートを全く疑っていませんでした。
ありがとうございました。
回答2件
あなたの回答
tips
プレビュー