Excel VBA質問箱 IV

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

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


44952 / 76735 ←次へ | 前へ→

【36791】Re:シートに振分け
回答  Kein  - 06/4/13(木) 23:02 -

引用なし
パスワード
   集計する列を間違えていたようです。すいません。以下のコードでやってみて下さい。

Sub CSV読み込み2()
  Dim MyF As String, Buf As String
  Dim Ary As Variant
  Dim Num As Integer, i As Integer
  Dim C As Range
  Const SvFol As String = _
  "C:\Documents and Settings\User\My Documents\My CSV"
  '↑保存先フォルダーのパスを正確に指定する。

  ChDir SvFol
  With Application
   MyF = .GetOpenFilename("CSVファイル(*.csv),*.csv")
   If MyF = "False" Then Exit Sub
   .ScreenUpdating = False
   .DisplayAlerts = False
  End With
  Worksheets(1).Cells.RemoveSubtotal
  Worksheets(2).Cells.RemoveSubtotal
  Open MyF For Input Access Read As #1
  Do Until EOF(1)
   Line Input #1, Buf
   Ary = Split(Buf, ",")
   Num = Val(Ary(0))
   If Num < 5 Then
     i = 1
   ElseIf Num < 7 Then
     i = 2
   Else
     Debug.Print Buf: GoTo NLine
   End If
   Worksheets(i).Range("A65536").End(xlUp) _
   .Offset(1).Resize(, 4).Value = Ary
NLine:
   Erase Ary
  Loop
  Close #1
  For i = 1 To 2
   With Worksheets(i)
     For Each C In .Range("D2", .Range("D65536").End(xlUp))
      C.Value = Val(C.Value)
     Next
     .Range("A1", .Range("A65536").End(xlUp)).Resize(, 4) _
     .Sort Key1:=.Range("A1"), Order1:=xlAscending, _
     Header:=xlYes, Orientation:=xlSortColumns
     .Range("A1").Subtotal 1, xlSum, Array(4), True
     .Cells.ClearOutline
   End With
  Next i
  With Application
   ChDir .DefaultFilePath
   .ScreenUpdating = True
   .DisplayAlerts = True
  End With
End Sub

0 hits

【36423】シートに振分け Seri 06/3/30(木) 19:05 質問
【36427】Re:シートに振分け Kein 06/3/30(木) 19:38 回答
【36441】Re:シートに振分け Seri 06/3/31(金) 10:25 お礼
【36442】Re:シートに振分け Seri 06/3/31(金) 10:34 お礼
【36462】Re:シートに振分け Kein 06/3/31(金) 17:10 回答
【36787】Re:シートに振分け Seri 06/4/13(木) 20:10 質問
【36791】Re:シートに振分け Kein 06/4/13(木) 23:02 回答

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