
EXCELデータ内のある1つのシートのデータをそのまま別ファイル(CSV)に保存したいのですがうまくいかないので教えてください。
本を見ながらこのようなマクロを作ったところ、EXCEL(○○.xls)の指定したシート(keihi)のみをCSV形式で別フォルダ(C:\経費振替)に保存することができたんですが、
元のEXCELも、ファイル名称・形式がCSV(○○.xls→keihi.csv)に変わってしまいます。
エクセルのファイル名、形式は変えずにできる方法ってありますか??
Sub データはきだし()
Dim Ret As String
Dim Res As Integer
Dim FolderName As String
Set WK1 = Worksheets("1 依頼書")
Set WK4 = Worksheets("keihi")
FolderName = "C:\経費振替"
Ret = Dir(FolderName, 16)
If Ret = "" Then
Res = MsgBox("DATA保管用フォルダを作成します。", vbYesNo)
If Res = vbYes Then
MkDir FolderName
End If
End If
'
Dim Res2 As Integer
Res2 = MsgBox("DATAを作成します。", vbYesNo)
WK4.Select
If Res2 = vbYes Then
With WK4
.SaveAs Filename:=FolderName & "\keihi", FileFormat:=xlCSV ←多分ココが何か間違ってるのだと思うんですが。
End With
No.2ベストアンサー
- 回答日時:
こんばんは。
いくつかやり方はあるのですが、もっとも簡単なのは、たぶん、こんな所でしょうね。
それと、一応、出力ファイル名は、明示的に、keihi.csv としました。
Dim Res2 As Integer
Res2 = MsgBox("DATAを作成します。", vbYesNo)
WK4.Select
If Res2 = vbYes Then
WK4.Copy
Application.DisplayAlerts = False '上書きダイアログ無視
ActiveWorkbook.SaveAs _
Filename:=FolderName & "\keihi.csv", FileFormat:=xlCSV
ActiveWorkbook.Close False
Application.DisplayAlerts = True
End If
No.3
- 回答日時:
#1です。
Cドライブ直下であれば
ActiveWorkbook.SaveAs Filename:="C:\" & "TEST",FileFormat:=xlCSV
でOKだと思いますよ。
No.1
- 回答日時:
これでできませんか?
With WK4
.Copy
ActiveWorkbook.SaveAs Filename:=FolderName & "\keihi", FileFormat:=xlCSV
End With
私が試したのはこちら・・・。
With Sheets("Sheet1")
.Copy
ActiveWorkbook.SaveAs Filename:=CreateObject("WScript.Shell").SpecialFolders("desktop") & "\" & "TEST", FileFormat:=xlCSV
End With
通常シートをコピーする時は別のシートの前とか後ろとか指定しますが、指定
をしない状態だとコピーしたシートのみの新しいブックが作成されます。
要はその新しく作成されたブックをCSV形式で保存します。
この回答への補足
ありがとうございます!!
うまくできました(^^)
でも、下の方のをそのままコピーして使ったら、デスクトップに保存されるんですね。
これをcドライブ直下にいれたいんですが、その場合はどうすればいいですか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBA 別ブックからコピペしたい...
-
VBA 複数のブックに同じ列を表...
-
【Excel VBA】書き込み先ブック...
-
[Excel]ADODBでNull変換されて...
-
【ExcelVBA】zip圧縮されたCSV...
-
VBA コードを実行すると画面が...
-
Excelのマクロコードについて教...
-
VBAで別のブックにシートをコピ...
-
【ExcelVBA】インデックスが有...
-
VBAで複数のブックを開かずに処...
-
同フォルダ内の串刺し集計と文...
-
Excelマクロ 該当する値の行番...
-
ACCESSでExcelにデータ出力、高...
-
VBS Bookを閉じるコード
-
VBSでExcelのオープン確認
-
エクセル VBA 他シートの行を選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ブックをダイアログボックス...
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
[Excel]ADODBでNull変換されて...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】インデックスが有...
-
VBAで複数のブックを開かずに処...
-
【ExcelVBA】zip圧縮されたCSV...
-
【VBA】全シートの計算式を全て...
-
エクセルのマクロを使ってメー...
-
VBS Bookを閉じるコード
-
ユーザーフォームの切り替えに...
-
Excelのマクロコードについて教...
-
Excel2007VBAファイルの表示に...
おすすめ情報