下記のマクロは『範囲指定したURL先のサイトタイトルを取得する』というものです。
このマクロはサイトタイトルを取得できるのですが、
結構重くなりますし、サイトタイトルも数秒に1つ取得と遅いです。
このマクロを『軽く・早く』して、
サイトタイトルを短い時間で取得できるようにできますでしょうか?
できるとしたら、どのような記述になりますか?
よろしくお願いいたします。
Sub sample()
Dim Carea As Range
Set Carea = Selection
If Carea(1).Value = "" Then Exit Sub
Dim Tcel As Range
Dim ObjIE As Object
Set ObjIE = CreateObject("InternetExplorer.Application")
For Each Tcel In Carea
ObjIE.Navigate Tcel.Value
Do While ObjIE.Busy = True Or ObjIE.readyState <> 4
DoEvents
Loop
Tcel.Offset(, 1) = ObjIE.document.Title
Next
ObjIE.Quit
Set ObjIE = Nothing
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ハード的なのかソフト(常駐ソフト含む)の影響もあるのでは?
例えばページを開く際にウィルスなどのチェックをするようだと、それが頻繁に行われれば遅くなりそうですし。
私もVBやC#などでのマルチスレッド処理が良いように思えます。
CPUコアが1つって訳ではないなら、Excelですと仮に4つコアがあっても1つが仕事中で3つはサボっている感じになります。
それを4つとか同時に(均等に)処理させる手段を取るのが1つでやるより効率よさそうですし。
No.1
- 回答日時:
こんばんは
通信待ちの時間がほとんどを占めているのでしょうから、仮に、マクロが速くなったとしても、ほとんど変わらないと思いますけれど?
VBAではなく、マルチスレッドで処理できるような仕組みにすれば改善する可能性はあるかも。
あるいは、あきらめて空き時間(夜間とか)にのんびりと処理するとか…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/11 08:33
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
エクセルに張り付けた写真のフ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
TeraTermマクロの文字列結合
-
マクロで空白セルを詰めて別シ...
-
EXCELのVBAでRange("A1:C4")を...
-
ソース内の行末に\\
-
エクセルのマクロをセルの値に...
-
VBA アドインについて お詳しい...
-
TERA TERMを隠す方法
-
EXCELマクロでのThisisWor...
-
[初心者です]VBAで指定列か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルに張り付けた写真のフ...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
Excelのマクロ(VBA)は、同じ...
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
#defineの定数を文字列として読...
-
マクロ実行時、ユーザーフォー...
-
エクセルのマクロをセルの値に...
-
Outlookにて既にウィドウ単体で...
-
エクセルで別のセルにあるふり...
-
マクロで空白セルを詰めて別シ...
-
TeraTermマクロの文字列結合
おすすめ情報
回答ありがとうございます。
こちらのマクロは、かなり前に書いてもらったもので、
私自身、マクロについて詳しくないです。
Application.ScreenUpdating = False
は、どこの部分に記述するのがいいでしょうか?
よろしくお願いいたします。