Excel VBA質問箱 IV

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

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


64247 / 76738 ←次へ | 前へ→

【17072】Re:Array(0,1,2,3,4,....)内を配列でもちたい
質問  めぎゅ E-MAIL  - 04/8/20(金) 19:37 -

引用なし
パスワード
   こんばんわ。ご返事有難うございます。

すいません。うまく使えませんでした。
用途として詳しく説明しますと、

ファイル読み込みの際、Array関数を使うのですが、
読み込みたいカラムの列番号をシート、あるいは、ファイルに設定ファイルとして持ちます。

その際、
>  str = "0,1,2,3"
>  arr = Split(str, ",")

までは、OKなのですが、Array関数への格納がどうやるのかわかりません・・。。
  '書き込み用配列の確保
  vntColm = Array(0, 1, 2, 4, 5, 6)
          ~~~~~~~~~~~~~~~~
          ↑ここを可変で、設定ファイルとして持ちたい。
  ReDim vntWrite(UBound(vntColm))

補足として、ソースとしましては、このようになっています。

  Dim dfn As Integer
  Dim strBuff As String
  Dim vntColm As Variant
  Dim vntData As Variant
  Dim vntWrite As Variant
  Dim lngWriteRow As Long
  
  '書き込み用配列の確保
  vntColm = Array(0, 1, 2, 4, 5, 6)
  ReDim vntWrite(UBound(vntColm))
  
    '貼付行設定
    lngWriteRow = 1
    
    'ファイルオープン
    dfn = FreeFile
    Open CStr(sTXTPATH & sTXTName_i) For Input As dfn
    
    'ファイルの終わりまで繰り返し
    With Workbooks(sNewbook_name).Worksheets(sSheetName)
      Do Until EOF(dfn)
        '1行(1レコード)読み込み
        Line Input #dfn, strBuff
        '区切文字(Tab)で文字列を区切配列に格納(列数と添え字が等しい)
        vntData = Split(strBuff, vbTab, , vbBinaryCompare)
        '読み込み列を書き込み用配列に代入
        For i = 0 To UBound(vntColm)
          vntWrite(i) = vntData(vntColm(i))
        Next i
        '書き込み位置にデータを書き込み
        With .Cells(lngWriteRow, 1)
          Range(.Offset(, 0), .Offset(, _
                  UBound(vntColm))).Value = vntWrite
        End With
        '書き込み行を更新
        lngWriteRow = lngWriteRow + 1
      Loop
    End With
    
    'ファイルを閉じます
    Close #dfn
   End If
0 hits

【17018】Array(0,1,2,3,4,....)内を配列でもちたい めぎゅ 04/8/18(水) 21:33 質問
【17019】Re:Array(0,1,2,3,4,....)内を配列でもちた... Asaki 04/8/18(水) 21:58 回答
【17072】Re:Array(0,1,2,3,4,....)内を配列でもちた... めぎゅ 04/8/20(金) 19:37 質問
【17074】Re:Array(0,1,2,3,4,....)内を配列でもちた... Hirofumi 04/8/20(金) 20:59 回答
【17080】Re:Array(0,1,2,3,4,....)内を配列でもちた... めぎゅ 04/8/21(土) 0:35 お礼

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