2017-01-18 11 views
-2

たとえば、シート1のA1:B10のデータをCSVファイルに1時間ごとに保存するコードはありますか?このもののExcelシートのデータをCSVファイルに自動的に保存するコード

+0

私はインターネット上で見つけた多くのコードを試しましたが、私は成功しません。私はあなたが私からのより多くを期待していることを知っていますが、私はVBAでとても快適ではありません。私はこれを見ましたが、これは時間ベースではありませんhttp://stackoverflow.com/questions/37037934/excel-macro-to-export-worksheet-as-csv-file-without-leaving-my-current-excel-sh – BertG3

+0

SOの[ヘルプ]センター(http://stackoverflow.com/help/how-to-ask)の記事をお読みください。あなたのために仕事をするのではなく、特定のプログラミングエラーであなたを助けるだけです。 1行はSOの適切な質問ではありません。 – Taelsin

+0

大変申し訳ございません。ご回答有難うございます。私はプログラムすることができますが、VBAではできません。私を助けるために誰かを雇う必要があります – BertG3

答えて

1

は、多くの異なる方法で行うことができ、これは私がしたいものです。

1)は新しいファイルに次のサブを追加します。あなたは10分ごとに上書きされるoutput.csvを回避したい場合、あなたは、例えば、次のようにファイル名に現在の日時を追加することができ

Sub SaveRangeToCSV() 

    Dim rng As Range 
    Dim originWB As Workbook 
    Dim originWS As Worksheet 
    Dim newBook As Workbook 
    Dim newBookWS As Worksheet 

    'Open the file you want to copy the range from 
    Set originWB = Workbooks.Open("path_to_file_that_contains_the_range_you_want_to_copy.xlsx") 
    Set originWS = ThisWorkbook.Sheets("name_of_the_sheet_where_the_range_is") 
    Set rng = originWS.Range("A1:B10") 

    'Add new workbook (csv file) 
    Workbooks.Add 
    Set newBook = ActiveWorkbook 
    Set newBookWS = newBook.Sheets(1) 

    'Copy range from origin to destination (csv file) 
    rng.Copy Destination:=newBookWS.Range("A1") 

    'Save csv file 
    newBook.SaveAs Filename:=ThisWorkbook.Path & "\output.csv" 

End Sub 

のは、それを呼ぼう「auto.xlsb」:

'Save csv file 
newBook.SaveAs Filename:=ThisWorkbook.Path & "\output_" & Replace(Replace(Replace(Now, "/", ""), ":", ""), " ", "") & ".csv" 

2)のWorkbook_Openサブにこのコードを追加します(VBA IDEにはThisWorkbookシートをクリックし、ドロップダウンからワークブックし、[開く]を選択)auto.xlsbで、かつ保存:

Private Sub Workbook_Open() 

    Call Module1.SaveRangeToCSV 

End Sub 

あなたにDOBLEクリックするたびにfiを開くle、SaveRangeToCSVがトリガーされ、したがってcsvが作成されます。

3)このファイルの実行を自動化することは、お使いの環境設定や作業しているオペレーティングシステムによって異なります。私はあなたがWindows上にいると仮定しているので、それを行う最も簡単な方法は、Windowsのタスクスケジューラで10分ごとに "auto.xlsb"を実行するタスクを作成することです。

こちらがお役に立てば幸いです。

関連する問題