- 締切済み
マクロ>指定した範囲をテキストファイルとして名前をつけて保存する
こんにちはtmgmです。 「指定した範囲をテキストファイルとして名前をつけて保存する。」 というようなマクロが分かる方いらっしゃいますでしょうか? 私がいましている作業の効率化を図るためにあったらすごく便利だなぁとおもって投稿してみました。 セルを選択し、ショートカットキー(例えばCtrl+Shift+f)を押すことで、”名前をつけて保存”ダイアログボックスが表示され、指定した名前でテキストファイルとして保存する この作業がマクロでできたら非常に便利です。 どなたかご存知の方いらっしゃいましたらご返答宜しく御願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
シートにコマンドボタンを貼りつけ、クリックイベント に書きました。ショートカットの方がよければ 変えてください。 やり方は、エクセルのセル範囲を指定。(飛び飛びは不可。) コマンドボタンをクリック。 csvファイルが出来る。文字列は””で囲むと言う方式ではない。 Private Sub CommandButton1_Click() Open "c:\My Documents\aaa14.csv" For Output As #1 Dim cl As Range m = Selection(1).Row fst = "y" s = "" For Each cl In Selection If cl.Row = m Then If fst = "y" Then s = cl fst = "n" Else s = s & "," & cl End If Else Print #1, s s = cl m = cl.Row End If Next Print #1, s Close #1 End Sub ファイル名はInputBoxででもダイアログでも聞こうと思ったが、その辺の変更はご存知のレベルだろうと省略。 (実例) x,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,20 a,b,c,d,e f,g,h,I,j a,b,c,d,e f,g,h,I,j a,b,c,d,e
- space_needle
- ベストアンサー率48% (174/362)
ちょっとリファインする必要がありますが、あまり時間が無いのでこれで勘弁してください。 簡単なマクロを組んで見ました。 <問題点> ファイル名の指定をすることができない。(名前をつけて保存ダイアログが出ない) 最後のシート削除に確認メッセージが出る。 Sub SelectionSave() '選択範囲を新しいシートにコピー Selection.Copy Sheets.Add ActiveSheet.Paste Application.CutCopyMode = False '保存 ActiveWorkbook.SaveAs Filename:="C:\Book1.txt", _ FileFormat:=xlText '一時使用したシートを削除 ActiveWindow.SelectedSheets.Delete End Sub
- space_needle
- ベストアンサー率48% (174/362)
Wordですか?Excelですか? ついでにバージョンも教えてください。
補足
こんにちは、tmgmです。 すいません。それをお伝えするのを忘れていました。 ソフトはExcelです。 バージョンはXP(SP3)です。