人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

複数のSheetを含むExcelファイルがあります。含まれる全てのSheetについて、csvファイルを作成(Sheetの数だけcsvファイルを作成)する方法(たぶんVBAマクロ。他の手段でも可。)を教えてください。直接スクリプトを書いて頂いても、配布サイト等の紹介でも構いません。書いて頂く場合、csvファイル名は、A.xlsのB!なら、A_B.csvでお願いします。
急いでいるので、最初に満足な回答を頂いた方に500P出して、すぐ〆切ります。

●質問者: 右舷
●カテゴリ:コンピュータ
✍キーワード:CSV Excel VBA xls サイト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● huruyosi
●500ポイント ベストアンサー

名前をつけて保存をシート単位に繰り返すマクロです。

問題は保存する形式がCSVになってしまいます。

上書き保存しても構わなければ、最後から2行の

ActiveWorkbook.SaveAs ?

を有効にしてくださ

以下マクロのソースです。

Sub Macro1()
Dim ws As Worksheet
Dim cvsDir As String
Dim csvPrefix As String
Dim wsName As String


' このブックのパスを取得
csvPrefix = ThisWorkbook.Path + "\" + ThisWorkbook.Name
csvPrefix = Left(csvPrefix, Len(csvPrefix) - 4)

' シートの数だけループを回す
For Each ws In ThisWorkbook.Sheets
 ws.Activate
 wsNname = ws.Name
 ws.SaveAs Filename:=csvPrefix + "_" + wsNname + ".csv", FileFormat:=xlCSV, _
 CreateBackup:=False
 ws.Name = wsNname
Next
' ActiveWorkbook.SaveAs Filename:=csvPrefix + "xls", FileFormat:=xlNormal
End Sub
◎質問者からの返答

ありがとうございます。

助かりました。


2 ● らいず
●20ポイント

CSVファイルにしたいシートを選択後、「ファイル」?「名前をつけて保存」でダイアログを表示してください。

そこでファイル名とその下にある「ファイルの種類」を「CSV(カンマ区切り)」を選択して保存すると、複数のシートをサポートしていませんという注意のダイアログがでますが、無視して保存をすると表示されているシートのCSVファイルが作成できます。

◎質問者からの返答

あー、これはちょっと違います。

が、いま自分の質問文を読んだら、たしかにこれも間違いとは言えない文章になってますね。粗品を差し上げますのでご笑納ください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ