Excel VBA質問箱 IV

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

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


46843 / 76732 ←次へ | 前へ→

【34856】Re:データ並び替え
発言  やっちん  - 06/2/14(火) 20:22 -

引用なし
パスワード
   ▼たま さん:
こんばんは。
ちょっと修正してみました。

Sub cmd1_Click()
 
  Dim strIN As String    '入力ファイルパス変数
  Dim strOUT As String   '出力ファイルパス変数
  Dim D As String      '読み込んだファイルの1行のデータ
  Dim Outdata As String   'ファイルに書き込み用データ
  Dim Nin As String     'ファイル番号(インプット用)
  Dim Nout As String    'ファイル番号(アウトプット用)
  Dim Data() As String   'カンマ区切りのデータ

 
  'ファイルの入出力のパスを指定
  strIN = Application.GetOpenFilename("(*.*),*.*", , "入力ファイル指定")
  strOUT = Application.GetSaveAsFilename("", "(*.*),*.*", , "出力ファイル指定")
 
  '未使用のファイル番号を取得
  Nin = FreeFile
  Open strIN For Input As #Nin
  Nout = FreeFile
  Open strOUT For Output As #Nout
  
  While Not EOF(Nin)
    'ファイルを1行ずつ読み込む
    Line Input #Nin, D
  
    '「,」区切りでデータを区切る
    Data() = Split(D, ",")
  
    '番号が2桁の場合頭に0を加えて3桁にする。
    If Len(Data(0)) = 2 Then
      D = "0" & D
    End If
  
    '番号が同じならアウトデータの最後にカンマを入れ結合
    If Left(D, 3) = Left(Outdata, 3) Then
      Outdata = Outdata & Mid(D, 4)
    Else
      If Outdata <> "" Then
      'アウトファイルに書き込む
        Print #Nout, Outdata
      End If
      Outdata = D
    End If
  
  Wend
  If Outdata <> "" Then
    Print #Nout, Outdata
  End If

  Close #Nin
  Close #Nout
 
End Sub

0 hits

【34831】データ並び替え たま 06/2/14(火) 12:13 質問
【34832】Re:データ並び替え やっちん 06/2/14(火) 12:42 発言
【34835】Re:データ並び替え inoue 06/2/14(火) 13:25 発言
【34836】Re:データ並び替え だるま 06/2/14(火) 13:40 回答
【34839】Re:データ並び替え たま 06/2/14(火) 14:40 発言
【34840】Re:データ並び替え inoue 06/2/14(火) 15:23 発言
【34841】Re:データ並び替え たま 06/2/14(火) 16:20 発言
【34842】Re:データ並び替え だるま 06/2/14(火) 16:23 回答
【34848】Re:データ並び替え たま 06/2/14(火) 19:04 質問
【34856】Re:データ並び替え やっちん 06/2/14(火) 20:22 発言
【34978】Re:データ並び替え たま 06/2/17(金) 14:25 お礼

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