EXCELについて質問です。
エクセルのシートに入力した内容をCSVファイルで出力したいです。
当方の希望としまして、いくつかあるシートの中で、希望のシートだけCSVファイルを出力し、出力する際は「CSVファイルを出力」のようなボタンをクリックすれば、CSVファイルが出力されるものです。
初心者ですので、できるだけ詳しく教えて頂きたいです。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

簡単に分かりやすくマクロの登録から実行までを下記に


記載したつもりですが、伝わらなかったら申し訳ありま
せん。それでは

Excelを立ち上げ、ツール→マクロ→VisualBasicEditorを
クリックします。次に立ち上がったVisualBasicEditorの
挿入→標準モジュールを押すと、Module1(コード)が開く
のでそこに下記のソースをコピペしてください。

Sub Macro1()
Application.DisplayAlerts = False
main_f = ActiveWindow.Caption
out_pass = ActiveWorkbook.Path & "\"
Out_name = ActiveSheet.Name
Sheets(Out_name).Select
Sheets(Out_name).Copy
ActiveWorkbook.SaveAs Filename:= _
out_pass & Out_name & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub

コピペがおわりましたら、エクセルにもどり任意の
ファイル名で保存してください。例として
sheetout_csv.xlsとして保存します。保存先は
どこでもかまいませんが、閉じずにそのままにして
おいてください。

次に、061156さんがシート別にcsv出力したいファイルを
Excelで開き、出力したいシートをクリックします。
次にツール→マクロ→マクロを押して表示されている
sheetout_csv.xls!Macro1を「実行」ボタンを押して実行
します。これで任意のシートのCSVファイル出力は
完成です。出力先はシート別にcsv出力したいファイルと
同じ場所に「選択したシート名.csv」で出力されます。
ボタン押すと出力されるようにもできますが記載が複雑に
なりそうなのでこれで^^;
以上です。
    • good
    • 0

#3 です。



すみません。Worksheet オブジェクトに SaveAs メソッドがあるのを
すっかり忘れてました。#3 はもっと簡単に書けます。

' // アクティブシートを CSV で保存2(標準モジュール)
Sub CsvOutputSample2()

   ' // Excel の CSV 出力機能を利用します
 
  Dim vOutFile As Variant
 
  ' // 保存ファイル名を問い合せて、バリアント型変数で受ける
  vOutFile = Application.GetSaveAsFilename( _
          FileFilter:="CSV 形式(*.csv),*.csv", _
          InitialFileName:=ActiveSheet.Name)
  ' // 変数の値がブール値(False) ならユーザーキャンセルなので終了
  If VarType(vOutFile) = vbBoolean Then Exit Sub
  ' // 保存実行
  ActiveSheet.SaveAs Filename:=vOutFile, FileFormat:=xlCSV

End Sub
    • good
    • 0
この回答へのお礼

丁寧なご対応ありがとうございました。
勉強してみます。

お礼日時:2008/03/04 18:03

こんにちは。



全部わかりませんでは作成依頼と受け取られかねませんよ。
VBA を学びたいのですよね? 頑張ってください。
ご参考までに。

' // アクティブシートを CSV で保存(標準モジュール)
Sub CsvOutputSample()

   ' // Excel の CSV 出力機能を利用します
  
  Dim vOutFile As Variant
  Dim shSrc  As Worksheet
  
  ' // A) 保存ファイル名を問い合せて、バリアント型変数で受ける
  vOutFile = Application.GetSaveAsFilename( _
          FileFilter:="CSV 形式(*.csv),*.csv", _
          InitialFileName:=ActiveSheet.Name)
  ' // 変数の値がブール値(False) ならユーザーキャンセルなので終了
  If VarType(vOutFile) = vbBoolean Then Exit Sub

  ' // 現在アクティブなシートを覚えておく(後で確実にアクティブ化するため)
  Set shSrc = ActiveSheet
  ' // 画面の切り替わりをユーザーに見せない
  Application.ScreenUpdating = False
  ' // B) アクティブシートを「新しいブック」に複製する
  shSrc.Copy
  ' // B) により、複製先の「新しいブック」がアクティブに切り替わる
  With ActiveWorkbook
    ' // A) の名前で CSV 形式で保存し、閉じる
    .SaveAs Filename:=vOutFile, FileFormat:=xlCSV
    .Close SaveChanges:=False
  End With
  ' // 一応念のため、コピー元シートの親オブジェクト(ブック)からアクティブ化
  shSrc.Parent.Activate
  ' // シートアクティブ化
  shSrc.Activate

  ' // オブジェクト変数を空に(参照を破棄)する
  Set shSrc = Nothing

End Sub
    • good
    • 0
この回答へのお礼

ご対応ありがとうございました。
これから、VBAを勉強して内容が理解できるように努力しようと思います。

お礼日時:2008/03/04 17:17

CSVでの保存自体は「名前をつけて保存」で「ファイルの種類」をCSVにすればOK。


ボタンをクリックでこの動作を可能にするにはマクロを使います。
ツール→マクロ→新しいマクロの記録→上記CSVでの保存手順を実行→ツール→マクロ→記録終了
オートシェイプでボタンを設置→図を右クリックして「マクロの登録」→先ほど記録したマクロを登録→
図を右クリックして「テキストの追加」で【CSVファイルを出力】と入力
のような感じです。
ただしこのままですとファイル名の変更が出来ず全て上書き保存となってしまいますし任意のシートの選択も出来ません。
ここから先はVBAで作りこむようになりますが初心者とのことですので
全て説明しようとすると本が1冊出来ちゃいそうです。
とりあえずは「名前をつけて保存」で、後はおいおい勉強してみては?

この回答への補足

回答ありがとうございました。
私の質問の仕方が悪く意図したことが伝えられなかったのですが、
任意のシートを指定したディレクトリに保存したいため、VBAでCSVファイル出力をしたいです。
ですが、VBAのスキルがないため、どの場所に、どのようなソースを書けばよいかを詳しく教えて頂きたかったです。
可能でしょうか?

補足日時:2008/03/04 01:02
    • good
    • 0

こんばんは。


保存の際にファイルの種類を「csv」に指定すればOKです。
これが一番手っ取り早いですよ。

この回答への補足

回答ありがとうございました。
私の質問の仕方が悪く意図したことが伝えられなかったのですが、
任意のシートを指定したディレクトリに保存したいため、VBAでCSVファイル出力をしたいです。
ですが、VBAのスキルがないため、どの場所に、どのようなソースを書けばよいかを詳しく教えて頂きたかったです。
可能でしょうか?

補足日時:2008/03/04 01:08
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q大量のCSVファイルをExcel形式に変換する

お世話になります。
大量のCSV(.csvファイルをExcel(.xls)ファイルに変換したい
と考えております。
リネームソフトを使って、(.csv)⇒(.xls)の一括変換を
したところ、拡張子は確かに.xlsに変換されたのですが、
中身はCSVのままとなっておりました。
(↑ファイル名とシート名が同期を取っているので)

このCSVを確実にエクセル形式へと変換したいのですが、
どなた様かいいお考えをお持ちでしたら教えてください。
ググってみたところ、そういったアドインがあるのですが、
できれば費用をかけずに行いたいです…。

Aベストアンサー

こんにちは。

すでに、マクロが1つ出ているようですが、私も作ってみました。

これは、ファイルをマルチセレクトして、そのファイル群を、Excelのマクロにより、一気に、CSV から XLS(Excel標準フォーマット)変換するマクロです。出来上がったら、Explorer 等で、確認してみてください。

>アドインがあるのですが、
私の個人的な意見ですが、この程度のものは、アドイン化すべきものではありませんから、よほど付加価値をつけないと公開用のアドインにはなりませんが、一般的にみて、アマチュアの作ったアドインは、押しなべて、あまり出来の良いものが少ないように思います。ですから、なるべく、一般のマクロで解決するように望みます。


'---------------------------------------------------

'<標準モジュール>
Sub CSV2XLS()
  'CSV を XLS に変換するマクロ
  Dim myArray() As String
  Dim FileName As Variant
  Dim fn As Variant
  Dim xlFileName As String
  Dim xlFileBaseName As String
  Dim TextLine As String
  Dim FileNo As Integer
  Dim i As Long
  Dim k As Long
  '基本となるフォルダ
  'BASE_DIR=""なら、マクロのあるブックと同じ場所のフォルダ
  Const BASE_DIR As String = ""
  If BASE_DIR <> "" Then
   ChDir BASE_DIR
   Else
   ChDir ThisWorkbook.Path
  End If
  FileName = Application.GetOpenFilename("CSV ファイル(*.csv),*.csv", MultiSelect:=True)
  If VarType(FileName) = vbBoolean Then
   Exit Sub
  End If
  Application.ScreenUpdating = False
  For Each fn In FileName
   On Error GoTo NextStatus
   With Workbooks.Open(fn)
     xlFileName = Mid$(fn, 1, InStrRev(fn, ".") - 1) & ".xls"
     Do
      k = k + 1 '同名の時枝番をつける
      If k > 3 Then Exit Do
      If Dir(xlFileName) = "" Then
        .SaveAs xlFileName
        xlFileBaseName = Mid$(xlFileName, InStrRev(xlFileName, "\") + 1)
        Workbooks(xlFileBaseName).Close False
        k = 0
        Exit Do
        Else
        xlFileName = Mid$(fn, 1, InStrRev(fn, ".") - 1) & "_" & CStr(k) & ".xls"
      End If
     Loop
   End With
NextStatus:
  Next fn
  Application.ScreenUpdating = True
  MsgBox "終了しました。",64
End Sub

'---------------------------------------------------

こんにちは。

すでに、マクロが1つ出ているようですが、私も作ってみました。

これは、ファイルをマルチセレクトして、そのファイル群を、Excelのマクロにより、一気に、CSV から XLS(Excel標準フォーマット)変換するマクロです。出来上がったら、Explorer 等で、確認してみてください。

>アドインがあるのですが、
私の個人的な意見ですが、この程度のものは、アドイン化すべきものではありませんから、よほど付加価値をつけないと公開用のアドインにはなりませんが、一般的にみて、アマチュアの...続きを読む

Qエクセルのシートをシート別にPDF出力、非表示は出力しない方法

お世話になります。
シートを個別にPDF出力したいです。

いろいろ検索をして、作成しましたが、
非表示シートがあるとエラーになりました。

非表示シートを表示させてエラーが出ないようにはなりましたが、
後から非表示シートのPDFを削除しないといけないので、イマイチかと思ってます。

なにか良い方法はないでしょうか?

※プログラム経験がないため、WEBで調べたソースを参考にして下記のようにしました。
 あまり内容を理解していない為、おかしなところがあるかもしれません。

よろしくお願いします。
-----------------------
Sub 全シートPDFファイル保存()
Dim w As Worksheet
Dim v
Dim mySheet As String

Application.ScreenUpdating = False
For Each w In Worksheets
v = w.Visible
w.Visible = True
w.Select

mySheet = ActiveSheet.Name
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\PDF\" & mySheet & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
w.Visible = v
Next

Application.ScreenUpdating = True
MsgBox "完了しました"
End Sub

お世話になります。
シートを個別にPDF出力したいです。

いろいろ検索をして、作成しましたが、
非表示シートがあるとエラーになりました。

非表示シートを表示させてエラーが出ないようにはなりましたが、
後から非表示シートのPDFを削除しないといけないので、イマイチかと思ってます。

なにか良い方法はないでしょうか?

※プログラム経験がないため、WEBで調べたソースを参考にして下記のようにしました。
 あまり内容を理解していない為、おかしなところがあるかもしれません。

よろしく...続きを読む

Aベストアンサー

少し直してみました。
.CountA(w.UsedRange) で一つもないと、エラーが出ますので、その防止のために付け加えました。なお、hidden プロパティの-1というのは、VBAではTrue の意味です。

'//
Sub SheetsPrint2PDF()
 Dim w As Worksheet
 Const PDFDIR As String = "C:\PDF\" '出力するフォルダ(末尾に¥はつけること)

 Application.ScreenUpdating = False
 For Each w In Worksheets
  If w.Visible Then  '表示しているシート
   If Application.CountA(w.UsedRange) > 0 Then 'データがあるシート
    w.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     PDFDIR & w.Name & ".pdf", Quality:=xlQualityStandard, _
     IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
     False
   End If
  End If
 Next

 Application.ScreenUpdating = True
 MsgBox "完了しました"
End Sub

少し直してみました。
.CountA(w.UsedRange) で一つもないと、エラーが出ますので、その防止のために付け加えました。なお、hidden プロパティの-1というのは、VBAではTrue の意味です。

'//
Sub SheetsPrint2PDF()
 Dim w As Worksheet
 Const PDFDIR As String = "C:\PDF\" '出力するフォルダ(末尾に¥はつけること)

 Application.ScreenUpdating = False
 For Each w In Worksheets
  If w.Visible Then  '表示しているシート
   If Application.CountA(w.UsedRange) > 0 Then 'データがある...続きを読む

QエクセルデータからCSVファイルへの変換について

現在エクセルファイルにあるデータをCSVファイルへ変換する作業(エクセルでデータを作成して、保存時にCSVファイルを選択)をしているのですが、以下の例の場合うまく変換ができません・・・。
基本的な質問かもしれませんがどなたかご存知でしたら教えていただけると助かります。
よろしくお願いします。

【例】
        (エクセル) ⇒  (CSV)

うまくいく   12345     12345

うまくいかない 01234     1234


上記のようにエクセル上は文字列で管理されている
ケースだとCSVファイルに変換した時数列に変換
され、上記例のうまくいかないケースのように
頭に0がある場合CSVだと0が消えてしまいます。

よろしくお願いします。

Aベストアンサー

> CSVファイルに変換した時数列に変換

ちがいます。
いったんCSVで保存したものをエクセルで開いたときにそうなるのです。
CSVをエクセルでそのまま開かず、メニューの「データ」、「外部データの取り込み」、「すべてのファイル」、で取り込み、書式で文字列を選べばOKです。
あるいはCSVを拡張子を.TXTにしてテキストで取り込んでもOK

QExcel ワークシート から csvファイルに変換するには?

エクセルに記入された内容は各マスで区切られておりますが

マスではなく「,」で区切られる
csvに変換したいのですが
これは可能でしょうか?

既に入力済みのエクセルシートから
ファイル→名前を付けて保存→ファイルの種類→csv→保存

というようにしてエクセルからcsvに変換しようとしましたが


「選択したファイルの種類は複数のシートを含むブックをサポートしていません」
というエラーが出て、そこでOKを押すと

「CSV(カンマ区切り)と互換性のない機能が含まれている可能性があります、この形式でブックを保存しますか?」

と出てきますのでここで「はい」をおすと
ファイルの拡張子自体はcsvになるのですが
カンマでの区切りではなく未だにエクセルのラインが残っております

どうすればエクセルで区切られたマスをカンマに置き換える事ができるのでしょうか?


変換しようとした際に出てくるエラーに問題があるのでしょうか?
そうだとしてもエラーの意味がわかりません…


教えてください
よろしくお願いします

エクセルに記入された内容は各マスで区切られておりますが

マスではなく「,」で区切られる
csvに変換したいのですが
これは可能でしょうか?

既に入力済みのエクセルシートから
ファイル→名前を付けて保存→ファイルの種類→csv→保存

というようにしてエクセルからcsvに変換しようとしましたが


「選択したファイルの種類は複数のシートを含むブックをサポートしていません」
というエラーが出て、そこでOKを押すと

「CSV(カンマ区切り)と互換性のない機能が含まれている可能性があります、こ...続きを読む

Aベストアンサー

はずれかもしれません。

>ファイルの拡張子自体はcsvになるのですが
>カンマでの区切りではなく未だにエクセルのラインが残っております

エクセルのラインが残っているというのは、何のソフトで
開いて確認しているでしょうか。エクセルで開いていませんか。
もしそうだとしたらメモ帳で確認してみてください。
カンマ区切りになっているはずです。

QCSVファイルをEXCELに変換の自動化作業

CSVファイルをEXCELに変換の自動化作業
{CSVファイルをEXCELに変換するため、
excel  ツールバーよりデータ(D)→外部データの取り込み(D)→テキストファイルのインポート→ファイルの種類変更→全てのファイル→○○.csvのファイル指定→“,”の区切り選択、、ウィザードに従って変更し次へで進む→A1が指定されるのでそのまま完了→CSVがEXCELファイルに変換された。
参照したabc1.csvの名前に対して新しいabc1.xlsとなずけて登録する。これらの作業をMYドキュメントのhenkan ホルダーに入っているCSVファイルに同様に作業して同じくhenkan ホルダーに入れる。}
上記の{ }内の作業を何か,excelのVBAのマクロのようなもので実行することはできませんか。
やり方を教えてください。

Aベストアンサー

もともと、CSVとはカンマ区切りのはずですから、そうではないということなら、このコードは、違っています。こういう質問系掲示板は、質問者が分らない部分をお助けするような形で出来上がるものだと思いますので、回答者の回答を最初から否定するような発言は控えていだきたいと思いました。なお、フォルダーの中を一気に変換してしまうようなコードは、必ず変換後の様子を確認してからでなくてはなりませんので、それを確認していただくつもりでした。

私自身は、ここのカテゴリで、私は、一ゲンではありませんので、後々のためにコードを掲示しておきます。以下は、私が考えていたコードであって、その処理後の状態を保証するものではありません。

'<標準モジュール推奨>
Sub DirectryCSV2XLS()
  Dim myCSVFnames() As String
  Dim myCSVFname As String
  Dim xlFileName As String
  Dim i As Long
  Dim j As Long
  Dim n As Variant
  Dim msg As String
'=====================================
  '以下 フォルダー要設定
  Const MY_FOLDER As String = ""C:\Documents and Settings\<User>\My Documents\"
'=====================================
  If Left$(MY_FOLDER, 1) <> "\" Then MsgBox "フォルダーの設定の最後は、「\」が必要です。": Exit Sub
  If Dir(MY_FOLDER, vbDirectory) = "" Then _
   MsgBox "そのフォルダーは存在しません。", vbCritical: Exit Sub
 
  myCSVFname = Dir(MY_FOLDER & "*.csv")
  Do While myCSVFname <> ""
   ReDim Preserve myCSVFnames(i)
   myCSVFnames(i) = myCSVFname
   i = i + 1
   myCSVFname = Dir()
  Loop
  If i = 0 Then MsgBox MY_FOLDER & " には、CSVファイルが存在しません。", vbCritical: Exit Sub
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  For Each n In myCSVFnames
   xlFileName = Mid$(n, 1, InStrRev(n, ".csv")) & ".xls"
   If Dir(MY_FOLDER & "\" & xlFileName) = "" Then
     With Workbooks.Open(MY_FOLDER & "\" & n, Format:=2)
      .SaveAs MY_FOLDER & xlFileName
      Workbooks(xlFileName).Close False
      j = j + 1
     End With
   End If
  Next n
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True
  If i <> j Then msg = "既に" & CStr(i - j) & "個のCSV ファイルは、XLSに変換されています。"
  MsgBox i & "個のCSVの内、" & j & "個のファイルをXLSに変換しました。" & vbCrLf & msg
End Sub

もともと、CSVとはカンマ区切りのはずですから、そうではないということなら、このコードは、違っています。こういう質問系掲示板は、質問者が分らない部分をお助けするような形で出来上がるものだと思いますので、回答者の回答を最初から否定するような発言は控えていだきたいと思いました。なお、フォルダーの中を一気に変換してしまうようなコードは、必ず変換後の様子を確認してからでなくてはなりませんので、それを確認していただくつもりでした。

私自身は、ここのカテゴリで、私は、一ゲンではありませ...続きを読む

QExcelシートのグループ化時に、一つのシートのみに入力したい(勝手に全シートに入力しないでほしい)

以前検索について質問させていただいたのですが、
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2333302

シートをグループ化するのはいいのですが、グループ化した状態で入力を行うと、(入力したくない)他のシートにも入力されてしまいます。具体的には、Sheet"A"のA1に入力すると、Sheet"B"やSheet"C"のA1にまで変更が反映されてしまいます。今になってそのことに気付いて、データがかなり破壊されてしまい、修復する気も起こりません(TT)

関係ないシートをクリックし、グループ化を解除して入力すれば問題ないのでしょうが、データベース的に使っており検索をしょっちゅうかけるので、不便きわまりません。データを複数シートに分けたのがそもそもの間違いだったのでしょうか?

以上を踏まえ、複数シートに分散したExcelデータベースで検索をひんぱんにかけ、グループ化時にもそのシートにだけ入力したいのです。

何かいい解決案はないでしょうか?

Aベストアンサー

皆さんがおっしゃるようにシートを1枚にする手間を1度だけかけたほうが楽だとは思うのですが・・・。
でも、質問者様の言いたいことも分からないでもないです。
いろいろ考えましたが、マクロを使う以外にいい解決案が浮かびません。

検索して修正ならば・・・検索ではなくCtlr+Hで置換を行えば、該当のシートにのみ変更が反映されます。
(全て置換ではなく、次を検索→該当のものが選ばれた状態で置換と行います)

ただ、なんとなく聞いていると検索は検索、入力は入力で別の作業ということなのかな?
それなら検索だけVlookupなどで作ってあげればいいと思いますが・・・。(全てのシートの最上列に作っておけばどこからでも使えるし)

あとはシート数にもよりますが、マウスを使わずに行えば、少しは作業が楽になるかも知れません。
検索をかけるときはCtrl+Fで検索し、フォームはAlt+F4で閉じます。シートの変更は右手でCtrl+PgUpやPgDn・・・と言うようにやるとか。

全部のシートを選ぶのはたとえば
Sub 全シート選択()
Worksheets.Select
End Sub
こんな記述を書くだけです。
いい機会なのでマクロにも手を出して見てはどうですか?

余談ですが、「グループ化時に、シートの書き込みをすると全シートに書かれてしまう」のは仕様です。
書式設定なんかも全て全シートに適用されるので便利だと思いますが・・・。

皆さんがおっしゃるようにシートを1枚にする手間を1度だけかけたほうが楽だとは思うのですが・・・。
でも、質問者様の言いたいことも分からないでもないです。
いろいろ考えましたが、マクロを使う以外にいい解決案が浮かびません。

検索して修正ならば・・・検索ではなくCtlr+Hで置換を行えば、該当のシートにのみ変更が反映されます。
(全て置換ではなく、次を検索→該当のものが選ばれた状態で置換と行います)

ただ、なんとなく聞いていると検索は検索、入力は入力で別の作業ということなのかな...続きを読む

QCSVをExcelに変換したい

お世話になります。

CSVファイルをExcelファイルに変換する場合、CSVファイルをExcelで開いて拡張子を「xls」もしくは「xlsx」を指定して保存すればよいかと思いますが、PCにExcelがインストールされてない環境の場合、Excelに変換することは不可能でしょうか。

今回、Accessにてツールを作成し、CSV(カンマ区切り)のデータを読み込もうとしておりますが、そのデータの中には単語の中にカンマが含まれているものがある為、普通にCSVをインポートしようとすると、ズレてしまいます。

なので、インポートする前準備としていったんExcelに変換したいと考えているのですが。。そのPCにExcelがインストールされてないと、やはり変換することは出来ないでしょうか。

もしくは、カンマ区切りのCSVファイルをタブ区切りに変換したりすることは出来ますでしょうか。

ご教授の程、宜しくお願い致します。

Aベストアンサー

>Accessにてツールを作成し、CSV(カンマ区切り)のデータを読み込もうとしておりますが、そのデータの中には単語の中にカンマが含まれているものがある為、普通にCSVをインポートしようとすると、ズレてしまいます。

毎回同じCSVのフォーマットだったら
(項目数やデータ型など)
一度インポートウィザードで進めて行って
設定ボタンから定義を保存し
次回からはその定義名を使用してインポートしては?
VBAならDocmd.transferText のヘルプにあるSpecificationNameに定義名を入れます。
・・・じゃダメかいな?

>インポートする前準備としていったんExcelに変換したい
CSVファイルを直接開くとExcelのお節介機能で
電話番号などの前ゼロがなくなったり、ハイフン付きのデータが日付と解釈されたり・・・
ということががあるので、拡張子CSVをTxtに変えてから
Excelで開こうとするとウィザードが立ち上がって・・・と出来ますが
結局のところ二度手間です。

ご参考まで。

Q(Excel vba)ExcelシートをCSV保存する時、通貨記号を\にする方法

セルの書式設定で通貨(記号は¥)を設定しているセルを含むexcelのシートをCSV形式に保存しようとしています。手作業でメニューの「ファイル」-「名前を付けて保存」をクリックし、ファイル形式をCSVにして保存した場合は通貨記号¥がついた金額が入っていて問題ありません。
次のようにvbaのSaveAsメソッドを使用した場合、通貨記号$のついた金額になってしまいます。

ActiveWorkbook.SaveAs Filename:=FCsvName, FileFormat:=xlCSV

vbaで通貨記号を\にする方法を教えてください。環境はExcel2000・Windows98SEです。

Aベストアンサー

EXCEL2002の場合で申し訳ありませんが、

セルの書式設定での通貨の記号に、
”\ ”が設定してあると、やはり $ になってしまいますが、
”\ 日本語”が設定してあれば、SaveAsメソッドでもきちんと\が入ります。

(通貨記号が \ であるという前提なら役に立ちませんが)

QCSV形式に変換

プログラミング(C言語)で、ファイルの内容をCSV形式に変換し、指定した出力ファイルに出力するプログラムを作成せよ。という課題がありましたが、
ファイルの内容をCSV形式に変換
がわかりません。どのようなプログラムをかいたらよいのでしょうか?

Aベストアンサー

#5です。
よく見たらフィールド内での入れ替えが居るようなので、
#5で書いたやり方ではできませんね。。。
#参考だしいいのかな。。。

読み込みを一行ずつにして、
中を入れ替えて・・・
という作業が必要になります。

QEXCELのマクロをバッチファイルから起動させ、あるフォルダ内のCSVファイルをTXTファイルに変換。

あるフォルダにdata.csvというファイルがあります。

一つ目の質問は、EXCELのマクロで「あるフォルダ内にある***.csvを開く」という動作はどのように記述されますか?

2つ目の質問はバッチファイルあるいはスクリプトファイルでEXCELのこのマクロを実行させることは可能ですか。どのように記述したらよいのでしょうか。

3つ目はセルA1~A10の値をx B1~B10の値をyとしてグラフを描かせるコマンドはありますか。

Aベストアンサー

3つ目は、#1にご回答にあるようにマクロの記録を取れば良い。骨子は
Sub Macro1()
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("Sheet3").Range("A1:B10"), PlotBy:= _
xlColumns
End Sub
でChartType = xlXYScatterと
PlotBy:=xlColumnsがキーです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報