- ベストアンサー
エクセルのVBAでタブ区切りのテキスを出力したい。
エクセルのVBAでテキスト出力をしたいのですが、 ・タブ区切りで保存 ・A列の最終行×1行目の最終列の範囲指定が対象 ・範囲内の空欄もタブ区切りにする(最終列には必ず数値あり) ・出力テキストはシートと同じフォルダ内へ格納 ・テキストファイル名はシート名 という感じにしたいのです。 いろいろ検索はしているのですが、これといった回答やサンプルは 見つかっておりません(><) ちなみに、私は、自動記録をしたものを改良して少し使えるレベルです。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Sub Macro1() Dim FileName As String Dim LastRow As Long Dim LastCol As Long 'FileName = 現在アクティブなBOOKのパス + "\" + 現在アクティブなシート名 + ".Txt" FileName = Application.ThisWorkbook.Path & "\" & ActiveSheet.Name & ".Txt" 'A列65536行目から[Ctrl]+[↑]で移動した先の行 'IV列1行目から[Ctrl]+[←]で移動した先の列 LastRow = Range("A65536").End(xlUp).Row LastCol = Range("IV1").End(xlToLeft).Column '範囲を指定してコピー Range(Cells(1, 1), Cells(LastRow, LastCol)).Copy 'BOOKを新規作成して ペースト Workbooks.Add ActiveSheet.Paste '既にファイルが存在する場合、アラートが出るのでOFF Application.DisplayAlerts = False '現在アクティブなBOOK(新規BOOK)を 'Tab区切りTEXT形式で、名前をつけて保存 ActiveWorkbook.SaveAs FileName:=FileName, FileFormat:=xlText '新規に作ったBOOK を閉じる ActiveWindow.Close saveChanges:=False 'アラート非表示を解除 Application.DisplayAlerts = True End Sub
お礼
ご丁寧にありがとうございます!! できました!!(^^)