Excel VBA質問箱 IV

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

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


18312 / 76732 ←次へ | 前へ→

【63863】Re:桁数に合わせてるやりかた
回答  Hirofumi  - 09/12/23(水) 13:43 -

引用なし
パスワード
   固定長レコードを意識しないならこんなでも

Option Explicit

Public Sub Sample_2()

  Dim i As Long
  Dim lngRows As Long
  Dim rngList As Range
  Dim vntData As Variant
  Dim vntFilename As Variant
  Dim dfn As Integer
  Dim strFilter As String
  Dim strBuff As String
  Dim strProm As String

  'フィルタ文字列を作成
  strFilter = "Text File (*.txt),*.txt"

  '出力ファイル名を取得
  vntFilename = Application.GetSaveAsFilename(, strFilter)
  If VarType(vntFilename) = vbBoolean Then
    strProm = "マクロがキャンセルされました"
    GoTo Wayout
  End If

  '◆Listの先頭セル位置を基準とする(先頭列の列見出しのセル位置)
  Set rngList = ActiveSheet.Range("A1")

  With rngList
    '行数の取得
    lngRows = .Offset(Rows.Count - .Row).End(xlUp).Row - .Row
    If lngRows <= 0 Then
      strProm = "データが有りません"
      GoTo Wayout
    End If
    '列データを配列に取得
    vntData = .Offset(1).Resize(lngRows + 1).Value
  End With
  
  '出力ファイルをOpen
  dfn = FreeFile
  Open vntFilename For Output As dfn
  
  'Key列に就いて繰り返し
  For i = 1 To lngRows
    strBuff = Right(String(4, "0") & vntData(i, 1), 4)
    Print #dfn, "項番" & i & " " & strBuff
  Next i
  
  Close #dfn
  
  strProm = "処理が完了しました"
   
Wayout:

  Set rngList = Nothing
   
  MsgBox strProm, vbInformation
     
End Sub

2 hits

【63859】桁数に合わせてるやりかた やす 09/12/23(水) 11:33 質問
【63862】Re:桁数に合わせてるやりかた Hirofumi 09/12/23(水) 13:39 回答
【63863】Re:桁数に合わせてるやりかた Hirofumi 09/12/23(水) 13:43 回答
【63872】Re:桁数に合わせてるやりかた やす 09/12/24(木) 21:12 お礼

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