
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
簡単に分かりやすくマクロの登録から実行までを下記に
記載したつもりですが、伝わらなかったら申し訳ありま
せん。それでは
Excelを立ち上げ、ツール→マクロ→VisualBasicEditorを
クリックします。次に立ち上がったVisualBasicEditorの
挿入→標準モジュールを押すと、Module1(コード)が開く
のでそこに下記のソースをコピペしてください。
Sub Macro1()
Application.DisplayAlerts = False
main_f = ActiveWindow.Caption
out_pass = ActiveWorkbook.Path & "\"
Out_name = ActiveSheet.Name
Sheets(Out_name).Select
Sheets(Out_name).Copy
ActiveWorkbook.SaveAs Filename:= _
out_pass & Out_name & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
コピペがおわりましたら、エクセルにもどり任意の
ファイル名で保存してください。例として
sheetout_csv.xlsとして保存します。保存先は
どこでもかまいませんが、閉じずにそのままにして
おいてください。
次に、061156さんがシート別にcsv出力したいファイルを
Excelで開き、出力したいシートをクリックします。
次にツール→マクロ→マクロを押して表示されている
sheetout_csv.xls!Macro1を「実行」ボタンを押して実行
します。これで任意のシートのCSVファイル出力は
完成です。出力先はシート別にcsv出力したいファイルと
同じ場所に「選択したシート名.csv」で出力されます。
ボタン押すと出力されるようにもできますが記載が複雑に
なりそうなのでこれで^^;
以上です。
No.4
- 回答日時:
#3 です。
すみません。Worksheet オブジェクトに SaveAs メソッドがあるのを
すっかり忘れてました。#3 はもっと簡単に書けます。
' // アクティブシートを CSV で保存2(標準モジュール)
Sub CsvOutputSample2()
' // Excel の CSV 出力機能を利用します
Dim vOutFile As Variant
' // 保存ファイル名を問い合せて、バリアント型変数で受ける
vOutFile = Application.GetSaveAsFilename( _
FileFilter:="CSV 形式(*.csv),*.csv", _
InitialFileName:=ActiveSheet.Name)
' // 変数の値がブール値(False) ならユーザーキャンセルなので終了
If VarType(vOutFile) = vbBoolean Then Exit Sub
' // 保存実行
ActiveSheet.SaveAs Filename:=vOutFile, FileFormat:=xlCSV
End Sub
No.3
- 回答日時:
こんにちは。
全部わかりませんでは作成依頼と受け取られかねませんよ。
VBA を学びたいのですよね? 頑張ってください。
ご参考までに。
' // アクティブシートを CSV で保存(標準モジュール)
Sub CsvOutputSample()
' // Excel の CSV 出力機能を利用します
Dim vOutFile As Variant
Dim shSrc As Worksheet
' // A) 保存ファイル名を問い合せて、バリアント型変数で受ける
vOutFile = Application.GetSaveAsFilename( _
FileFilter:="CSV 形式(*.csv),*.csv", _
InitialFileName:=ActiveSheet.Name)
' // 変数の値がブール値(False) ならユーザーキャンセルなので終了
If VarType(vOutFile) = vbBoolean Then Exit Sub
' // 現在アクティブなシートを覚えておく(後で確実にアクティブ化するため)
Set shSrc = ActiveSheet
' // 画面の切り替わりをユーザーに見せない
Application.ScreenUpdating = False
' // B) アクティブシートを「新しいブック」に複製する
shSrc.Copy
' // B) により、複製先の「新しいブック」がアクティブに切り替わる
With ActiveWorkbook
' // A) の名前で CSV 形式で保存し、閉じる
.SaveAs Filename:=vOutFile, FileFormat:=xlCSV
.Close SaveChanges:=False
End With
' // 一応念のため、コピー元シートの親オブジェクト(ブック)からアクティブ化
shSrc.Parent.Activate
' // シートアクティブ化
shSrc.Activate
' // オブジェクト変数を空に(参照を破棄)する
Set shSrc = Nothing
End Sub
No.2
- 回答日時:
CSVでの保存自体は「名前をつけて保存」で「ファイルの種類」をCSVにすればOK。
ボタンをクリックでこの動作を可能にするにはマクロを使います。
ツール→マクロ→新しいマクロの記録→上記CSVでの保存手順を実行→ツール→マクロ→記録終了
オートシェイプでボタンを設置→図を右クリックして「マクロの登録」→先ほど記録したマクロを登録→
図を右クリックして「テキストの追加」で【CSVファイルを出力】と入力
のような感じです。
ただしこのままですとファイル名の変更が出来ず全て上書き保存となってしまいますし任意のシートの選択も出来ません。
ここから先はVBAで作りこむようになりますが初心者とのことですので
全て説明しようとすると本が1冊出来ちゃいそうです。
とりあえずは「名前をつけて保存」で、後はおいおい勉強してみては?
この回答への補足
回答ありがとうございました。
私の質問の仕方が悪く意図したことが伝えられなかったのですが、
任意のシートを指定したディレクトリに保存したいため、VBAでCSVファイル出力をしたいです。
ですが、VBAのスキルがないため、どの場所に、どのようなソースを書けばよいかを詳しく教えて頂きたかったです。
可能でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
教えて!goo限定!! 電子コミック1000円分ギフトコードプレゼント!!
抽選で1000名様に電子コミック1000円分ギフトコードプレゼント!!
-
エクセルの複数シートをCSVファイルに変換したい
Excel(エクセル)
-
EXCEL→CSV形式で別ファイルに保存
Visual Basic(VBA)
-
エクセルでシート名のCSV形式ファイルの一括複数保存
その他(ソフトウェア)
-
4
CSVファイルの指定列だけを読み込んでEXCELに表示したい
Excel(エクセル)
-
5
Excel:任意の列だけCSV形式で出力したい。
Excel(エクセル)
-
6
エクセルで特定の列だけを抽出してcsvで保存したい
その他(Microsoft Office)
-
7
複数シートの一括CSVファイルに変換するには?
Excel(エクセル)
-
8
'Range'メソッドは失敗しました
Excel(エクセル)
-
9
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
10
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
11
Excelでcsvやtxtで保存する時にダブルクォートが勝手に付く
Excel(エクセル)
-
12
保存先のフォルダ名を指定したいとき
Visual Basic(VBA)
-
13
VBA 新規ファイルを元ファイルと同じ場所に保存する方法
Excel(エクセル)
-
14
【VBA】ExcelマクロでCSVファイルに保存したデータが"で囲まれてしまう
Visual Basic(VBA)
-
15
CSV形式で名前を付けて保存 マクロ
IT・エンジニアリング
-
16
VBA PDF ファイル名をセルからつける
Excel(エクセル)
-
17
【エクセル マクロ】読み込んだcsvファイルの名前を別名保存のファイル名に使いたい
Visual Basic(VBA)
-
18
VBA シートの内容の範囲を指定してtxtファイルに出力する方法
Excel(エクセル)
-
19
エクセルの任意のシートをcsv出力するVBScript
Visual Basic(VBA)
-
20
Excel VBA:特定のシートだけを保存・読込
Visual Basic(VBA)
関連するQ&A
- 1 エクセルのシートをシート別にPDF出力、非表示は出力しない方法
- 2 エクセルで別のシートに作ってあるデータを本シートの入力時にプルダウンで選択して入力する方法を教えてください
- 3 エクセルからCSVファイルに出力したい?
- 4 Excelについて質問です シート1←シート2ぶつける 重複したファイルをシート1から抽出 シート1
- 5 Excel 作業シートで入力したデータを別シートでフィルタをかけたような感じで出力したい
- 6 【Microsoft Excel】 .csv 以外のCSVファイルをExcelで開きたい!
- 7 CSVファイルをExcelに関連づけた状態でCSVファイルをオープンした後
- 8 Excelシートのグループ化時に、一つのシートのみに入力したい(勝手に全シートに入力しないでほしい)
- 9 エクセルで別のワークシートやファイルから特定のセルを呼び出して今のシートに転記する方法は?
- 10 エクセルVBAでボタンを割り当てて、そこに入力行数とCSV形式出力をおこなうように記述したい。
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
Excel csv保存 列数が異なる場...
-
5
パワーポイントの文字数
-
6
エクセルファイル名に更新日時...
-
7
EXCEL 検索時の設定
-
8
エクセルVBAでCSVファイ...
-
9
エクセルのマクロで行と列の削...
-
10
エクセル UserForm 呼び出しで...
-
11
エクセルの保存履歴を残す方法
-
12
VBAでマクロを使って、マクロ無...
-
13
excelのマクロでファイル一覧取...
-
14
マクロ実行後、表示がおかしくなる
-
15
PowerPoint 2002でファイル名を...
-
16
Excel、ファイルを開く度に、同...
-
17
複数のexcelのファイルを一括で...
-
18
WORDファイルをPDFにマクロで
-
19
エクセルで、フィルタかけたま...
-
20
Xlms とはなんでしょうか?
おすすめ情報