Excel VBA質問箱 IV

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

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


35790 / 76732 ←次へ | 前へ→

【46136】Re:ソートしながら読み込むには?
回答  Kein  - 07/1/23(火) 22:36 -

引用なし
パスワード
   エクセルの並べ替え機能を使ってみました。
例示されているようなデータで間違いなければ、うまくいくはずですが。

Sub MyTxt_Sort()
  Dim MyF As String, buf As String
  Dim i As Long
  Dim Ary As Variant
 
  With Application
   MyF = .GetOpenFilename("テキストファイル(*.txt),*.txt")
   If MyF = "False" Then Exit Sub
   .ScreenUpdating = False
  End With
  Cells.ClearContents: On Error GoTo Eline
  Open MyF For Input Access Read As #1
  Do Until EOF(1)
   Line Input #1, buf
   Select Case True
     Case Left$(buf, 1) = "["
      i = i + 1: Ary = Split(buf, Chr(32))
      Cells(i, 1).Value = Ary(1)
      Erase Ary
     Case Left$(buf, 1) Like "[A-Z]"
      Ary = Split(buf, Chr(32))
      If CSng(Ary(1)) > 9.45 Then
        Ary = WorksheetFunction.Transpose(Ary)
        Cells(i, 256).End(xlToLeft).Offset(, 1) _
        .Resize(2).Value = Ary
      End If
      Erase Ary
     Case Left$(buf, 1) = "}"
      Range(Cells(i, 2), Cells(i + 1, 256).End(xlToLeft)) _
      .Sort Key1:=Rows(i + 1), Order1:=xlDescending, _
      Header:=xlNo, Orientation:=xlSortRows
      Rows(i + 1).ClearContents
     Case Else: Debug.Print Asc(Left$(buf, 1))
   End Select
  Loop
Eline:
  Close #1
  If Err.Number = 0 Then
   MsgBox Dir(MyF) & " の読み込みを終了しました", 64
  Else
   MsgBox "エラー発生", 48
  End If
  Application.ScreenUpdating = True
End Sub
1 hits

【46135】ソートしながら読み込むには? 華麗パン 07/1/23(火) 21:15 質問
【46136】Re:ソートしながら読み込むには? Kein 07/1/23(火) 22:36 回答
【46181】Re:ソートしながら読み込むには? 華麗パン 07/1/25(木) 20:21 お礼
【46191】Re:ソートしながら読み込むには? Kein 07/1/25(木) 23:10 回答
【46218】Re:ソートしながら読み込むには? Kein 07/1/26(金) 20:15 回答
【46220】Re:ソートしながら読み込むには? 華麗パン 07/1/27(土) 0:22 お礼

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