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(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
エクセルのシート名の変更ができません
Excel(エクセル)
-
7
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
8
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
9
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
10
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
11
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
12
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
13
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
14
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
15
ExcelVBAで最終行を誤認する問題の回避方法
Visual Basic(VBA)
-
16
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel(エクセル)
-
17
Excel:任意の列だけCSV形式で出力したい。
Excel(エクセル)
-
18
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
19
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
20
エクセルVBAで値の貼り付けができない
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルの特定行を書...
-
2つのCSVファイルをマッチング
-
Perlでバイナリファイルを作成...
-
エクセルVBA コードが同じでも...
-
拡張子 ”log” と ” dat” の違い
-
VBAでCSVファイルを途中行まで...
-
VBAで巨大なファイルの途中から...
-
readdir()で得られるファイル・...
-
fgets で値が取得できない
-
window.open でのファイル指定方法
-
batファイルでrenameができませ...
-
動かなくなったのでJavaソース...
-
Windowsで複数のファイルを同じ...
-
awkスクリプトでダブルクォーテ...
-
全角と半角文字が混在している...
-
cgi.pm を使用してファイルUP時...
-
Pythonで非日本語のUnicode文字...
-
一行だけ読込
-
utf8使用時のフォーム入力文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでCSVファイルの特定行を書...
-
ExcelをCSV書き出す場合のシー...
-
openした後、closeしないでプロ...
-
VBAでCSVファイルを途中行まで...
-
VBAで巨大なファイルの途中から...
-
ReadLineでの読み出し行を指定する
-
JavaでCSVファイルを高速に読む...
-
MATLAB グローバル変数の宣言
-
エクセルVBA コードが同じでも...
-
Perlの変数に文字数制限(容量...
-
perlで、後ろの行を読んで、前...
-
2つのCSVファイルをマッチング
-
C言語でのファイルのデータ更...
-
VB6.0でDB接続する際に切断時の...
-
CSVが可変長の場合の検索方法
-
perlで容量の大きいCSVファイル...
-
1ファイルずつ読み込みたい
-
VBScriptでファイル保存先のデ...
-
C#でCSVファイルを逐一更新したい
-
perl で googleAPIを呼び出す...
おすすめ情報
現状のシート名はファイル名になっています。
CSVのシート名は変更出来ないのですね。
知りませんでした。
書出しシート名と同じシート名にしたいのです。
ShowMeHowさん
ファイル名はこのままで良いのですが、シート名を別の名前にしたいのですが・・・。
無理でしょうか?
くんこばさん
いつも有難う御座います。
CSVファイルのシート名はファイル名で無いとダメなのですか?
ファイル名とシート名を別名にしたいのですが・・・。