| 
    
     |  | ▼さつき さん: おはようございます。
 
 >エクセルのVBAを使用して一分間に140の値が加算される世界人口時計を作成したいのですが、そういったものはVBAで作成可能でしょうか。
 
 ぱっせんじゃーさんの投稿のように数字の見栄えのことを言っておられるなら、
 この投稿は的外れですが・・・。
 
 >VBAでアナログ時計は作成したことがあるのですが、デジタルのものを作成したことはありません。
 
 私もアナログ時計はお遊びで作ったことがありますが、
 基本的には、デジタルの方が簡単だと思いますよ
 
 
 新規ブックにユーザーフォームを一つ作成して置いてください。
 (Userform1)
 コントロールは、コードで作成しますから、一切要りません。
 
 上記のUserform1のモジュールに
 '==================================================================
 Option Explicit
 Public cls As Long
 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
 If CloseMode = 0 Then
 Cancel = True
 cls = 1
 Me.Hide
 End If
 End Sub
 
 
 標準モジュールに
 '========================================================================
 Option Explicit
 Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
 '========================================================================
 Sub main()
 Dim ie As Object
 Dim idoc As Object
 Set ie = CreateObject("InternetExplorer.Application")
 With ie
 .Visible = False
 .navigate "http://www.census.gov/ipc/www/popclockworld.html"
 '         ↑httpは半角に訂正してください
 Call set_userform
 UserForm1.Show vbModeless
 DoEvents
 Do
 DoEvents
 Do While .Busy = True Or .readyState <> 4
 Loop
 Set idoc = ie.document
 UserForm1.Controls("label1").Caption = idoc.getElementById("worldnumber").innerText
 DoEvents
 Sleep 5000
 .Refresh
 Loop Until UserForm1.cls = 1
 .Quit
 End With
 
 Set ie = Nothing
 Set idoc = Nothing
 Unload UserForm1
 End Sub
 '========================================================================
 Sub set_userform()
 Load UserForm1
 With UserForm1
 .Caption = "世界人口時計"
 .Height = 100
 .Width = 250
 With .Controls.add("Forms.Label.1", "label1", True)
 .Left = 36
 .Top = 24
 .Width = 180
 .Height = 26
 .Font.Size = 26
 .BackColor = &H80000009
 .textAlign = 3
 End With
 End With
 End Sub
 
 
 として、mainを実行してみてください。
 どこから、人口情報を取得するかですが・・・。
 
 
 尚、Doeventsのタイミングでしかユーザーフォームを閉じることが出来ませんから、
 連続で閉じるボタンをカチカチしてください。
 処理が終了します。
 
 
 |  |