SSブログ

Excel2000 VBA 東京電力の電力使用状況のデータCSV ファイルを読み込む [Excel2000 VBA独習]

Excel2000 VBA 東京電力の電力使用状況のデータCSV ファイルを読み込む

新しいマクロの記録で作成する

http://www.tepco.co.jp/forecast/index-j.html

 excel_csv_load_02.jpg

デスクトップに保存する

csvファイルの読み込み

  1. メニューバー、データ、外部データの取り込み、テキストファイルのインポート
  2. デスクトップのjuyo-j.csvを選択し読み込む
  3. 区切り位置指定ウイザードが起動するので、次へ、カンマにチェックを入れて、完了
  4. 取り込む位置(A1)を指定して取り込む
  5. 以上の手順をマクロ記録する

 


 

2011/04/17 記事書き換え

http://www.tepco.co.jp/forecast/html/images/juyo-j.csv

上記URLよりExcelに直接CSVファイルを読み込む

手順

  1. メニューバー、データ、外部ファイルの取り込み、新しいWEBクエリーを選択
  2. 新しいWebクエリー画面が出るので、 http://www.tepco.co.jp/forecast/html/images/juyo-j.csv、を指定してOKを押す
  3. 外部データの取り出し画面がでるので、既存のワークシートにA1を指定してOKを押す
  4. juyo-j.csvファイルの取り込みが完了したら、A1-A32を選択して、メニューバー、データ、区切り位置を選択
  5. 区切り位置指定ウィザードが起動するので、次へを押し、カンマにチェックを入れ、完了を押す
  6. 以上の操作をマクロに記録する
excel_URL_csv_01.jpg

excel_URL_csv_04jpg.jpg

excel_URL_csv_03jpg.jpg


記録したマクロを編集する

Sub 東電CSV更新()
'
' 東電CSV更新 Macro
' マクロ記録日 : 2011/4/16  ユーザー名 : '

'
Dim i As Integer

Sheets("東電CSV").Select
Range("a1", "d32").Select
Selection.Delete


'東電のサイトよりCSVファイルをダウンロード(マクロを記録した部分)

With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.tepco.co.jp/forecast/html/images/juyo-j.csv", Destination:= _
        Range("A1"))
        .Name = "juyo-j"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = False
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlAllTables
        .WebFormatting = xlWebFormattingRTF
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .Refresh BackgroundQuery:=False
    End With
    '区切り位置(カンマ)で分解
    Range("A1:A32").Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1))

'-----------------記録した部分の終わり---------

   'シート東電CSVからコピーしてシート東京電力需要電力(A1)に貼り付ける
    Range("A1").Select
    Range("A1", "D32").Select
    Selection.Copy
    Sheets("東京電力需要電力").Select
     
    Range("A1").PasteSpecial
   
    'グラフ表示対策 0ゼロをnullに変換
   
    For i = 9 To 32 '当日実績が記入されているセルの行範囲
    If Cells(i, "C") = 0 Then Cells(i, "C") = ""
    Next i
   
    Cells(9, "F").Copy
    Range("f9", "F32").Select
    ActiveSheet.Paste
    Cells(9, "G").Copy
    Range("G9", "G32").Select
    ActiveSheet.Paste
   
    For i = 9 To 32
    If Cells(i, "F") = "" Or 0 Then Cells(i, "F") = "": Cells(i, "G") = ""
    Next i
   
    Range("F28").Select
   

End Sub


 

シート 東京電力需要電力のデータを元にグラフを作成する

 マクロ(東電CSV更新)を実行する度に東電のサイトよりjuyo-j.csvを読み込み、グラフの更新ができる

東電のCSVファイルは1時間に1度しか更新されないので、1時間ごとに手動で更新する

(10分間隔で、新しいデータを提供して欲しい)

http://www006.upp.so-net.ne.jp/telstar/touden_csv.xls

excel_URL_csv_06.jpg

 

 
nice!(0)  コメント(1)  トラックバック(1) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 1

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。