SSブログ

Excel2000 VBA 東電 juyo-j.csv を取り込みカンマ区切り展開 その2 [Excel2000 VBA独習]

Excel2000 VBA 東電 juyo-j.csv を取り込みカンマ区切り展開 その2

タイマー機能を追加
サンプル http://www006.upp.so-net.ne.jp/telstar/touden_juyo-j.xls

(電力使用率が90%を超えたら第一次節電、95%を超えたら第二次節電、97%を超えたら自主計画停電にすることに決まった)

Sub interval_10()
On Error Resume Next
    Dim timer_time As String

    Workbooks("touden_juyo_timerV2.xls").Activate
'更新間隔時間取得
    timer_time = Worksheets("グラフ").Range("K40")
'タイマーを利用するか?
    If Range("H40") = "OFF" Then
    Application.OnTime Range("J40"), "juyo_csv2", , False 'エラー
    Exit Sub
    End If
   
'実行時間set (Application.OnTime は複数セットできるので、マクロの実行のしかたによっては予期せぬ時に実行されてしまう恐れがある?
    Application.OnTime Now + TimeValue(timer_time), "juyo_csv2" ', TimeValue("00:0:02")
'次回の実行時間表示
    Worksheets("グラフ").Select
    Range("J40") = Now + TimeValue(timer_time)
End Sub
Sub juyo_csv2()
'
'東電juyo-j.csvを取り込み、カンマ区切りを展開する
'sheet1→juyo-j sheet2→グラフ シート名を変更しておく
'

Dim i, j As Long
Dim 文字, 文字列 As Variant

'
Workbooks("東電グラフ更新.xls").Activate
Worksheets("juyo-j").Select
Range("A1", "E332").Delete
'juyo-j.csvを読み込む
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.tepco.co.jp/forecast/html/images/juyo-j.csv", Destination:= _
        Range("A1"))
        .Name = "juyo-j" '読込シート名
        .Refresh BackgroundQuery:=False
    End With
   
'カンマ区切りを展開
    For i = 1 To 332
        j = 0
        文字列 = Split(Cells(i, "A").Value, ",")
   
        For Each 文字 In 文字列
            Cells(i, 1 + j + 1) = 文字 'B列から展開
            j = j + 1
        Next
    Next i

'展開したdataをシート名(グラフ)にコピー
    Worksheets("juyo-j").Range("B1", "E332").Copy Destination:=Worksheets("グラフ").Range("A1")
'更新を実行した時間を表示
    Worksheets("グラフ").Select
    Range("I40") = Now       '実行日時
'off 設定なら終了
    If Range("H40") = "OFF" Then
    Range("J40") = Now
    Exit Sub
    End If
'新たに Application.OnTime を設定
    Application.Run "interval_10"
 
End Sub

excel_folderV1.jpg


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

nice! 0

コメント 0

コメントを書く

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

トラックバック 0

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