
以前は正常に動いていたのですが、現在エラー1004となり起動してくれません。
どこがおかしいのか教えていただけると幸いです。
Sub listC()
Cells.ClearContents
Range("a1").Select
x = InputBox("タブの数")
For i = 1 To x Step 1
AppActivate "Google Chrome"
SendKeys "^{Tab}", True
SendKeys "^a", True
SendKeys "^c", True
AppActivate "Microsoft Excel"
Application.Wait Now() + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="テキスト", Link:=False, DisplayAsIcon:= _
False
Selection.End(xlToRight).Select
Selection.End(xlDown).Select
Selection.End(xlToLeft).Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
Next i
End Sub
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
できれば、Tabは、何を意味しているのか教えていただければとは思っていますが、むしろ、Google Chrome が絶対的なものなのか、IEが代用できるのか、とか。
IEの場合は、ほぼ画面のデータ撮りができます。
無理強いはしないのですが、その他の手段として、今、私は、SeleniumBasic で、Google Chrome を動かすことも試しています。IEのみが今のところ、Excel VBAでは連結でき、イベントも取れるのですが、他のブラウザ(Edgeを含む)は、こうした特別のWrapper でないと不可能のようです。
SeleniumBasic は、設定が面倒なので、ちょっとお勧めできません。
No.3
- 回答日時:
>2タブ目以降の情報がExcelに落ちない(白紙)現状です。
おそらく、微妙なバランスによって成り立っていたのではないでしょうか。
だから、そのマクロのバランスを壊してしまったような気がします。
今の段階では、それ自体、確認もとれませんし、本格的なマクロでもありませんので、もし、キーボードマクロをするつもりなら、UWSCで行ったほうが楽だとは思います。
>2タブ目以降の情報がExcelに落ちない(白紙)現状です。
しかし、Webサイトのページが決まっているなら、Document.All や InnerText でも可能ですし、IEのコマンドのExecWBから、OLECMDID_SELECTALL ->OLECMDID_COPY という方法もありますし、いろんな方法が考えられますが、SendKeys だけですと、これ以上は私には分からないです。
No.2
- 回答日時:
こんにちは。
シートのアクティブ化?
今まで動いていたというのもすごいと思います。
Sub listC()
ThisWorkbook.ActiveSheet. Cells.ClearContents '←変更
Range("A1").Select
x = InputBox("タブの数")
For i = 1 To x
AppActivate "Google Chrome"
SendKeys "^{Tab}", True
SendKeys "^a", True
SendKeys "^c", True
AppActivate Application.Caption '←変更
Application.Wait Now() + TimeValue("00:00:01")
ActiveSheet.PasteSpecial Format:="テキスト", Link:=False, DisplayAsIcon:= _
False
With ActiveSheet.UsedRange
i = .Cells(.Cells.Count).Row + 2 '←変更
End With
Cells(i, 1).Select
Next i
End Sub
ちょっと手を入れてみました。
Google Chrome というと、通常、SeleniumBasic やiMacros を使うはずですが、そのどれも使わないというのは、考えたこともありませんでした。
>シートのアクティブ化はできているようです
シートというよりも、Excel アプリのフレームだけのことがあります。
シートのアクティブ化というのは、厳密には、Selection の中身が "Range" でないといけないわけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAの転記について 1 2022/03/23 20:13
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) excel VBA if文について 3 2022/03/27 17:42
- Excel(エクセル) 【マクロ】PasteSpecialメソッドにて、コードが動かない理由が分かりません 2 2023/08/15 20:47
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
【 Excel】シートの見出しに自...
-
エクセルを開いたとき常に同じ...
-
マクロを複数シートに実行する...
-
マクロでの全シート内検索
-
マクロを特定の複数シートで実...
-
Excel:複数シートから条件に合...
-
シートの名前を一括変更
-
EXCELのエラー
-
エクセル・複数のシートを一度...
-
マクロでピボットテーブルが開...
-
エクセルでシートの並び替えで...
-
エクセルのマクロでMACアドレス...
-
Excelのマクロの呼び出し元を知...
-
Excelで,特定のシートを開いた...
-
EXCELでマクロを使わずに図形の...
-
エクセルVBAでcmbBoxのプロパテ...
-
エクセルシートのセルに現在時...
-
VBAで条件によってシート見出し...
-
エクセルで回数をカウントする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
【 Excel】シートの見出しに自...
-
エクセルを開いたとき常に同じ...
-
マクロを複数シートに実行する...
-
EXCELでマクロを使わずに図形の...
-
マクロを特定の複数シートで実...
-
EXCELでワークシートを開いたら...
-
エクセルでシートの並び替えで...
-
Excelのマクロの呼び出し元を知...
-
マクロ 各シートの決められた位...
-
VBA シート名を先月の名前に...
-
メッセージボックスでシート名...
-
複数シートの保護・解除
-
エクセルで、マクロボタンの表...
-
Excel:複数シートから条件に合...
-
エクセルVBAでcmbBoxのプロパテ...
-
EXCELのエラー
-
エクセルで複数のSheetを一括フ...
-
エクセルで串刺ししたシートの...
-
シートを保護した時でも並べ替...
おすすめ情報
シートのアクティブ化はできているようです。
一度yをコピーし、マクロを起動するとxの数だけyがペーストされます。
例:x=3
y
y
y
タブ毎の全文章をコピペしたいです。
ありがとうございます!!
エラーは出ることなく使用できるようになりました。
しかしながら、複数のタブ(i=2~)で行うと、最初の1タブのみのページが全選択+コピーされ、2タブ目以降の情報がExcelに落ちない(白紙)現状です。