Excel VBA質問箱 IV

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

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


44687 / 76732 ←次へ | 前へ→

【37060】Re:かなり初歩的なプログラム
質問  ゴルゴン130  - 06/4/20(木) 16:14 -

引用なし
パスワード
   おおっ!みなさんありがとうございます。
Blueさん、みんなが勉強になればぜんぜんいいですよ。
僕にはまだちょっと理解できませんでしたが。

neptune さんのやり方を使わせていただきました。
自分なりに改良して、途中にコメント文などつけてやってみました。
でもやはりうまくいかない。
昨日から何度やってもインデックスの範囲が・・型が・・・などエラーがでてしまいます。

やろうとしていることはCSVのファイルから1行ずつ読み込みます。
そして必要なデータを抽出して計算させるといったものです。
1,2行目は関係ない文章が出てくるので読み飛ばします。
3行目からデータとなります。
データは 
「第1回,54%,1,2,3,4,5,6,7,8,9,10」
といったようになっていて、これが第2回、第3回とどんどん増えていきます。
3番目の「1」から12番目の「10」
までが必要なデータとなります。

このデータを使って合計や平均など求めようとしています。
現段階では配列に数値を入れた時点でエラーがでます。
教えてください。


Option Explicit

Dim Nin As String
Dim strIN As String
Dim tblDatafield() As Variant
Dim tblDataRow() As Variant
Dim tblDataSuuti() As Variant
Dim csvDATA As String

Dim j As Long
Dim k As Long

Private Sub CommandButton1_Click()

Dim lBuf(9) As Long
Dim goukei As Long
Dim I As Long
Dim Suuti As Variant

  'ファイルの入出力のパスを指定
  strIN = ThisWorkbook.Path & "\Loto6.csv"
  
  '未使用のファイル番号を取得・入力ファイルを読み取り専用で開く
  Nin = FreeFile
  Open strIN For Input As #Nin
  
  '始めの余分な2行を読み込む
  Line Input #Nin, csvDATA
  Line Input #Nin, csvDATA
  
  '数値の初期化
  j = 0
  k = 0

  'ファイルの読み込みを繰り返す
  While Not EOF(Nin)
    'ファイルを1行ずつ読み込む
    Line Input #Nin, csvDATA
    
    '「,」区切りでデータを区切る・配列に入れる
    tblDataRow(k) = csvDATA
    tblDatafield(j) = Split(tblDataRow(k), ",")
    tblDataSuuti = Array(CInt(tblDatafield(2)), CInt(tblDatafield(3)), _
                CInt(tblDatafield(4)), CInt(tblDatafield(5)), _
                 CInt(tblDatafield(6)), CInt(tblDatafield(7)), _
                  CInt(tblDatafield(8)), CInt(tblDatafield(9)), _
                  CInt(tblDatafield(10)), CInt(tblDatafield(11)))
    
    For I = 0 To 5
      lBuf(I) = tblDataSuuti(I)
    Next I
    
    goukei = FuncGoukei(lBuf)
    Debug.Print goukei
  
    'インクリメント
    k = k + 1
    j = j + 1
  Wend
End Sub


'***************合計値***************
Public Function FuncGoukei(pData() As Long) As Long
  Dim I As Long
  Dim lAns As Long
 
  For I = 0 To UBound(pData())
    lAns = lAns + pData(I)
  Next I
  FuncGoukei = lAns
End Function

6 hits

【36993】かなり初歩的なプログラム ゴルゴン130 06/4/19(水) 15:36 質問
【36994】Re:かなり初歩的なプログラム neptune 06/4/19(水) 16:15 回答
【37002】Re:かなり初歩的なプログラム Blue 06/4/19(水) 17:00 発言
【36995】Re:かなり初歩的なプログラム boni 06/4/19(水) 16:19 回答
【37000】Re:かなり初歩的なプログラム Kein 06/4/19(水) 16:30 回答
【37001】Re:かなり初歩的なプログラム Blue 06/4/19(水) 16:54 発言
【37003】Re:かなり初歩的なプログラム Jaka 06/4/19(水) 17:09 発言
【37004】Re:かなり初歩的なプログラム Blue 06/4/19(水) 17:14 発言
【37005】Re:かなり初歩的なプログラム Jaka 06/4/19(水) 17:29 発言
【37006】Re:かなり初歩的なプログラム Kein 06/4/19(水) 17:50 発言
【37007】Re:かなり初歩的なプログラム Blue 06/4/19(水) 18:08 お礼
【37060】Re:かなり初歩的なプログラム ゴルゴン130 06/4/20(木) 16:14 質問
【37064】Re:かなり初歩的なプログラム Kein 06/4/20(木) 16:43 回答
【37065】Re:かなり初歩的なプログラム neptune 06/4/20(木) 16:47 回答
【37070】Re:かなり初歩的なプログラム ゴルゴン130 06/4/20(木) 17:47 質問
【37079】Re:かなり初歩的なプログラム neptune 06/4/20(木) 21:50 回答
【37089】Re:かなり初歩的なプログラム ゴルゴン130 06/4/21(金) 1:24 質問
【37093】Re:かなり初歩的なプログラム neptune 06/4/21(金) 8:29 回答
【37099】Re:かなり初歩的なプログラム neptune 06/4/21(金) 12:51 回答
【37169】Re:かなり初歩的なプログラム ゴルゴン130 06/4/24(月) 23:36 お礼
【37176】Re:かなり初歩的なプログラム neptune 06/4/25(火) 10:12 発言

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