excelのVBAで質問です。 csvファイルを取り込みフィルターをかけて抽出し、csvの別ファイルを作成してます。

excelのVBAで質問です。 csvファイルを取り込みフィルターをかけて抽出し、csvの別ファイルを作成してます。 新たに作成されたcsvの別ファイルを開くと「ファイル形式と拡張子が一致しません ファイルが破損しているか・・・」と出てきます。 YESで開く事は可能ですが、どうやらそのCSVは拡張子だけcsvになっておりエクセルブックになっているようです。(名前を付けて保存を選択するとEXCELブックと表示されます) ファイルの種類はCSV(コンマ区切り)(*.csv)で作成したいのですが、何がいけないのでしょうか? 何卒宜しくお願い致します。 ③オートフィルタ項目ごとに別ファイルに保存 For i = 1 To listcount 'オートフィルタ項目数だけ繰り返す bk.Sheets(sheetno).Range(filtercell).AutoFilter Field:=filterrow, Criteria1:=filterlist(i) 'オートフィルターを設定 Set newbk = Workbooks.Add '新規ワークブックをセット newbk.SaveAs save + "\" & savename & i & "_" & filterlist(i) & ".csv" 'オートフィルタ項目名で新規ブックを作成 bk.Sheets(sheetno).UsedRange.Copy '使用されているセル範囲をコピー Workbooks(savename & i & "_" & filterlist(i) & ".csv").ActiveSheet.Range("A1").PasteSpecial xlPasteColumnWidths '列幅を貼り付け bk.Sheets(sheetno).UsedRange.Copy Workbooks(savename & i & "_" & filterlist(i) & ".csv").ActiveSheet.Range("A1") '通常貼り付け With ActiveWorkbook '新規ブックを上書き保存後、閉じる .save .Close End With bk.Activate '作業ブックをアクティブ Next i bk.Close SaveChanges:=False '新規ブックを上書き保存後、閉じる

Visual Basic | Excel23閲覧xmlns="http://www.w3.org/2000/svg">500

ベストアンサー

0

CSVファイルにする場合、名前を付けて保存(.SaveAs)でファイルフォーマットを指定する必要がありますね。 ActiveWorkbook.SaveAs FileName:="", FileFormat:=xlCSV

ThanksImg質問者からのお礼コメント

うまくできました。ありがとうございました。

お礼日時:8/19 6:17