人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセル,excel VBA。一定時間ごとにアクティブシート(sheet)について、並び替え(昇順)をしたいと思います。
実際は、株価のデータを取り込んで30秒ごとに並び替えをする予定です。(楽天RSS)
どのようにすればよいでしょうか。

●質問者: kenpo43
●カテゴリ:コンピュータ インターネット
✍キーワード:Excel RSS VBA アクティブ エクセル
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● llusall
●60ポイント

シートに[Start]ボタン、[Stop]ボタンを配置して、

それぞれにクリックイベントを割り当てます。

以下、サンプルです。参考としてください。


Option Explicit

'スリープのAPI

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

'停止フラグ

Private STOP_FLAG As Boolean


'Startボタンのクリックイベント

Private Sub btnStart_Click()

Dim i As Integer

STOP_FLAG = False

Do

'待ちを入れるのと、Stopボタンを受け入れる

For i = 1 To 300

Sleep (100) '[ms]

DoEvents

If STOP_FLAG Then

MsgBox "おしまい"

Exit Sub

End If

Next i

'A1:B5 は、ソートするセル範囲

'B1は、ソートする列の先頭

'Order1:=xlAscending (昇順) xlDescending(降順)

' 二番目に優先されるキーがある場合は、Order2

' 三番目に優先されるキーがある場合は、Order3 とつづくと思います。

Range("A1:B5").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:= _

xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _

SortMethod:=xlPinYin, DataOption1:=xlSortNormal

Loop

End Sub


'Stopボタンのクリックイベント

Private Sub btnStop_Click()

STOP_FLAG = True

End Sub

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ