Excel VBA質問箱 IV

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

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


614 / 76735 ←次へ | 前へ→

【81786】Re:助けてください(配列での抽出について)
発言  TDS  - 21/5/20(木) 17:13 -

引用なし
パスワード
   ▼とりとる さん:
CSVをOPENで読み込んで、必要な条件でデータを読み込むようにしてはどうですか?
サンプルとして、strSplit(1)で、”なごや” と入っているデータのみ取り込む。

strSplit(0)・・・1列目のデータ
strSplit(1)・・・2列目のデータ
strSplit(2)・・・3列目のデータ  と、35列あれば、strSplit(0)〜strSplit(34)までです。

少しは、早くなると思います。
必要な条件データは、FORM画面を作成し、取込めばいいかと。
参考までに・・・


Sub CSV入力1()
  Dim varFileName As Variant
  Dim intFree As Integer
  Dim strRec As String
  Dim strSplit() As String
  Dim i As Long, j As Long

  'クリップボードにコピーした内容をクリアする
  Application.CutCopyMode = False
  '画面表示停止
  Application.ScreenUpdating = False

  varFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", _
                        Title:="CSVファイルの選択")
  If varFileName = False Then
    Exit Sub
  End If

  intFree = FreeFile '空番号を取得
  Open varFileName For Input As #intFree 'CSVファィルをオープン

  '抽出先をクリアする
  Sheet2.Range("A:Z").ClearContents

Debug.Print Format(Time, "hh:mm:ss")
 
  i = 0
  Do Until EOF(intFree)
    Line Input #intFree, strRec '1行読み込み
    strSplit = Split(strRec, ",") 'カンマ区切りで配列へ
    
    '*** 必要なデータのみ読み込む 2列目がなごやのデータ
    If strSplit(1) = "なごや" Then
     i = i + 1
     For j = 0 To UBound(strSplit)
      
       Sheet2.Cells(i, j + 1).Value = strSplit(j)
      
     Next
    '配列をそのまま入れる方法も、ただし全て文字列として入力される
    'Range(Cells(i, 1), Cells(i, UBound(strSplit) + 1)) = strSplit
    End If
  Loop
 
   Close #intFree

Debug.Print Format(Time, "hh:mm:ss")
  '画面表示
  Application.ScreenUpdating = True
  'クリップボードにコピーした内容をクリアする
  Application.CutCopyMode = False

End Sub

10 hits

【81778】助けてください(配列での抽出について) とりとる 21/5/19(水) 3:16 質問[未読]
【81779】Re:助けてください(配列での抽出について) γ 21/5/19(水) 8:38 回答[未読]
【81780】Re:助けてください(配列での抽出について) TDS 21/5/19(水) 10:44 回答[未読]
【81781】Re:助けてください(配列での抽出について) とりとる 21/5/19(水) 11:54 発言[未読]
【81782】Re:助けてください(配列での抽出について) マナ 21/5/19(水) 18:33 発言[未読]
【81784】Re:助けてください(配列での抽出について) とりとる 21/5/20(木) 1:08 発言[未読]
【81783】Re:助けてください(配列での抽出について) マナ 21/5/19(水) 18:45 発言[未読]
【81785】Re:助けてください(配列での抽出について) とりとる 21/5/20(木) 1:20 質問[未読]
【81786】Re:助けてください(配列での抽出について) TDS 21/5/20(木) 17:13 発言[未読]
【81787】Re:助けてください(配列での抽出について) とりとる 21/5/20(木) 18:12 お礼[未読]
【81788】Re:助けてください(配列での抽出について) TDS 21/5/20(木) 19:45 発言[未読]
【81789】Re:助けてください(配列での抽出について) γ 21/5/24(月) 8:33 発言[未読]
【81790】Re:助けてください(配列での抽出について) とりとる 21/5/24(月) 19:24 お礼[未読]
【81791】Re:助けてください(配列での抽出について) γ 21/5/25(火) 9:45 発言[未読]
【81792】Re:助けてください(配列での抽出について) 通りすがり 21/5/26(水) 16:39 発言[未読]
【81793】Re:助けてください(配列での抽出について) 通りすがり 21/5/26(水) 16:42 発言[未読]

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