Excelファイルのシートをラインで書出しコードを作成しましたが
シート名がファイル名になってしまいます。
シート名「申請data」のデータを「申請data」のファイルに変えたいのですが
うまくいきません。
このコード下記のサイトをから作成しました。
https://excel.kuuneruch.com/make-csv/
Public Sub CSV書出し()
Dim shtData As Worksheet
Dim kugiri As String
Dim kukuri As String
Dim filePath As String
Dim lastRow As Long
Dim lastCol As Long
Dim varData As Variant
Dim i As Long
Dim j As Integer
Dim line As String
Dim MyPath As String, 事業場 As String
Dim 氏名 As Variant
Dim ChangeName As String
事業場 = Sheets("従業員情報").Range("B2").Value
氏名 = Sheets("従業員情報").Range("D2").Value
'保存先を指定
' MyPath = kanriALL & "\申請data" & "\" & 事業場
If 事業場 = "此花" Then
事業場 = "6_此花"
ElseIf 事業場 = "大和" Then
事業場 = "5_大和"
ElseIf 事業場 = "原町" Then
事業場 = "4_原町"
ElseIf 事業場 = "中島" Then
事業場 = "3_中島"
ElseIf 事業場 = "佃" Then
事業場 = "2_佃"
ElseIf 事業場 = "本社" Then
事業場 = "1_本社"
End If
Dim SPath, FileName, backupFilePath
Dim ws As Workbook
SPath = kanri & "\" & "2_勤怠管理者" & "\" & 事業場 & "\"
FileName = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
'ファイルのフルパスを指定します
If Dir(SPath, vbDirectory) = "" Then 'BACKUP用フォルダーがあるか?
MkDir SPath 'BACKUP用フォルダーを作成します。
End If
'②シートを変数に格納する
Set shtData = ThisWorkbook.Sheets("申請data")
kugiri = ","
kukuri = " "
'⑤CSVファイルパスを変数に格納する
filePath = SPath & FileName & ".csv"
'⑥「データ」シートの最終行を取得する
lastRow = shtData.Cells(shtData.Rows.Count, 1).End(xlUp).Row
'⑦「データ」シートの最終列を取得する
lastCol = shtData.Cells(1, shtData.Columns.Count).End(xlToLeft).Column
'⑧「データ」シートに入力されているデータを配列に格納する
varData = shtData.Range(shtData.Cells(1, 1), shtData.Cells(lastRow, lastCol))
'⑨作成するファイルを開く
Open filePath For Output As #1
'⑩CSVデータを書き込みする
For i = 1 To lastRow
line = ""
For j = 1 To lastCol
line = line & kukuri & varData(i, j) & kukuri
If j <> lastCol Then
line = line & kugiri
End If
Next
Print #1, line
Next
'⑪作成するファイルを閉じる
Close #1
MsgBox "事業場別に管理者使用データ書出し完了"
End Sub
宜しくお願い致します。
No.3
- 回答日時:
FileName = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
と指定していますから、エクセルのファイル名になります。
FileName=”申請データ”
とすれば 申請データ.csvというファイルで作られます。
No.2
- 回答日時:
csvファイルは複数のシートを保存することはできませんから、
FileName に "申請data" を入れればいいのではないでしょうか。
filePath = SPath & "申請data.csv"
または
FileName = ActiveSheet.Name
とか。
No.1
- 回答日時:
どゆこと?
CSVファイルのシート名を、ファイル名以外に変えたいってこと?
今、どうなっていて、で、どうしたいの?
※ちなみに、CSVファイルのシート名は変更できないはずだけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- 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/12 21:28
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
【EXCEL-VBA】保存の時にシート名が変わってしまう
Excel(エクセル)
-
フォルダ内の全ブックのシート名を変更したいです。
Excel(エクセル)
-
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
エクセルのシート名の変更ができません
Excel(エクセル)
-
8
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
9
【Excel VBA】取り込んだファイルのファイル名を取得するには?
Visual Basic(VBA)
-
10
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
11
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
12
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
13
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
14
Excel:任意の列だけCSV形式で出力したい。
Excel(エクセル)
-
15
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
16
VB初心者。小数点以下の表示でつまづいています(涙
Visual Basic(VBA)
-
17
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
18
【VBA】ExcelマクロでCSVファイルに保存したデータが"で囲まれてしまう
Visual Basic(VBA)
-
19
エクセルVBAで値の貼り付けができない
その他(Microsoft Office)
-
20
ExcelVBAで最終行を誤認する問題の回避方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelをCSV書き出す場合のシー...
-
ReadLineでの読み出し行を指定する
-
perlで、後ろの行を読んで、前...
-
エクセルマクロについて CSVフ...
-
VBAで巨大なファイルの途中から...
-
perl で googleAPIを呼び出す...
-
CSVファイルについて
-
JavaでCSVファイルを高速に読む...
-
VBAでCSVファイルの特定行を書...
-
ファイル読み込みと書き込み
-
CSVファイルの内容を編集する方...
-
スレッドAで信号を送り、返答が...
-
VBAでCSVファイルを途中行まで...
-
openした後、closeしないでプロ...
-
エクセルVBA コードが同じでも...
-
VBScriptでファイル保存先のデ...
-
画像をバイナリデータに変換す...
-
awkスクリプトでダブルクォーテ...
-
ListBoxのデータを高速でファイ...
-
C言語で特定の行を抽出する方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでCSVファイルの特定行を書...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルを途中行まで...
-
VBAで巨大なファイルの途中から...
-
openした後、closeしないでプロ...
-
エクセルVBA コードが同じでも...
-
ReadLineでの読み出し行を指定する
-
JavaでCSVファイルを高速に読む...
-
perlで、後ろの行を読んで、前...
-
Perlの変数に文字数制限(容量...
-
エクセルVBAでCSVファイ...
-
perlにて2つのファイル比較
-
MATLAB グローバル変数の宣言
-
C#でCSVファイルを逐一更新したい
-
CSVが可変長の場合の検索方法
-
他のサーバーにあるファイルの...
-
動画像から静止画を取り出すには
-
perlで容量の大きいCSVファイル...
-
外部サーバーにあるファイルを...
-
1ファイルずつ読み込みたい
おすすめ情報
現状のシート名はファイル名になっています。
CSVのシート名は変更出来ないのですね。
知りませんでした。
書出しシート名と同じシート名にしたいのです。
ShowMeHowさん
ファイル名はこのままで良いのですが、シート名を別の名前にしたいのですが・・・。
無理でしょうか?
くんこばさん
いつも有難う御座います。
CSVファイルのシート名はファイル名で無いとダメなのですか?
ファイル名とシート名を別名にしたいのですが・・・。