Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13453 / 13644 ツリー ←次へ | 前へ→

【5319】似たような式 Rockman 03/5/6(火) 17:45 質問
【5324】Re:似たような式 りん 03/5/6(火) 18:43 回答
【5336】Re:似たような式 Rockman 03/5/7(水) 11:51 お礼

【5319】似たような式
質問  Rockman  - 03/5/6(火) 17:45 -

引用なし
パスワード
   以下のようなにたような式があります。
cntの数によって変わるのですが、
今、ave1はそのままでave2からをcntにあわせてループのように
まわしたいです。ave2,ave3と宣言していますがこれをなくしたいです。

どのようにしたらできるのでしょうか?

For ave = START_LINE To 22
    
  ave1 = (hex2dec(Cells(ave, R_DATA).Value))
  ave2 = (hex2dec(Cells(ave + AVE_CNT, R_DATA).Value))
  ave3 = (hex2dec(Cells(ave + (AVE_CNT * 2), R_DATA).Value))
  ave4 = (hex2dec(Cells(ave + (AVE_CNT * 3), R_DATA).Value))
  ave5 = (hex2dec(Cells(ave + (AVE_CNT * 4), R_DATA).Value))
  ave6 = (hex2dec(Cells(ave + (AVE_CNT * 5), R_DATA).Value))
  ave7 = (hex2dec(Cells(ave + (AVE_CNT * 6), R_DATA).Value))
  ave8 = (hex2dec(Cells(ave + (AVE_CNT * 7), R_DATA).Value))
  ave9 = (hex2dec(Cells(ave + (AVE_CNT * 8), R_DATA).Value))
  ave10 = (hex2dec(Cells(ave + (AVE_CNT * 9), R_DATA).Value))
  ave11 = (hex2dec(Cells(ave + (AVE_CNT * 10), R_DATA).Value))
  
  If cnt = 1 Then
    Worksheets(s_sheetName).Cells(ave, R_AVE).Value = dec2hex(ave1 / cnt, 4)
  ElseIf cnt = 2 Then
    Worksheets(s_sheetName).Cells(ave, R_AVE).Value = dec2hex((ave1 + ave2) / cnt, 4)
  ElseIf cnt = 3 Then
    Worksheets(s_sheetName).Cells(ave, R_AVE).Value = dec2hex((ave1 + ave2 + ave3) / cnt, 4)
End If
Next ave

【5324】Re:似たような式
回答  りん E-MAIL  - 03/5/6(火) 18:43 -

引用なし
パスワード
   Rockman さん、こんばんわ。

>cntの数によって変わるのですが、
>今、ave1はそのままでave2からをcntにあわせてループのように
>まわしたいです。ave2,ave3と宣言していますがこれをなくしたいです。

cnt とかの出どこがわからないので、計算部分だけ。

  Dim II%, dt As Double
  '
  For ave = START_LINE To 22
   '累積値格納用変数
   dt = 0
   'cnt回ループ
   For II% = 1 To cnt
     'ave := Row  R_DATA:Column
     dt = dt + hex2dec(Cells(ave + AVE_CNT * (II% - 1), R_DATA).Value)
   Next
   'cntで割る
   Worksheets(s_sheetName).Cells(ave, R_AVE).Value = _
                        dec2hex(dt / cnt, 4)
  Next ave

こんな感じです。
詳細がわからないので試せていないけど、同じ結果がでたらいいなあ。

【5336】Re:似たような式
お礼  Rockman  - 03/5/7(水) 11:51 -

引用なし
パスワード
   りんさん
どうもありがとうございます。

考えていた通りの結果が出せました。

13453 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free