
マクロ初心者です。
下記のマクロを組みたいのですが、
「Rangeメソッドは失敗しました’Globalオブジェクト」とエラーが出てしまいます。
エラーがでる理由、またその修正方法についてご教示いただけませんでしょうか。。。
実現したい動きは以下で
ファイル#1の指定sheetのF5→AR42までの値をコピー
ファイル#3の同範囲に貼り付け
ファイル#2の指定sheetのF5→AR42までの値をコピー
ファイル#3の同範囲に加算で貼り付け
→上記の動きを38行分繰り返す
で、エラーが出てしまったマクロは以下です。。
Sub マクロ3()
'
' マクロ3 Macro
'
Dim i As Integer
For i = 0 To 37
Range(Cells(6, 5 + i)).Select
Windows("#1.xlsm").Activate
Worksheets("指定のシート名").Select
ActiveSheet.Range(Cells(6, 5 + i), Cells(29, 5 + i)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("#2.xlsm").Activate
ActiveSheet.Paste
Windows("#3.xlsm").Activate
Worksheets("指定のシート名").Select
ActiveSheet.Range(Cells(6, 5 + i), Cells(29, 5 + i)).Select
Application.CutCopyMode = False
Selection.Copy
Windows("#1.xlsm").Activate
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _
False, Transpose:=False
Next i
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは
ご質問に対する直接の回答は、すでにNo1様がなさっていますので、回答ではありません。
ざっと見ても、質問文とご提示のコードがまったく合致しているようには見えません。
>ファイル#1の指定sheetのF5→AR42までの値をコピー
これに対してコードの方は
>For i = 0 To 37
>Range(Cells(6, 5 + i), Cells(29, 5 + i)).Select
のようになっているので、結局のところ
E6:AP29( =Range(Cells(6, 5), Cells(29, 42)).Address(0, 0) )の範囲に対して処理を行おうとしています。
>ファイル#1の値をコピー
>ファイル#3に貼り付け
>ファイル#2の値をコピー
>ファイル#3に加算で貼り付け
に対しては、それぞれ
ファイル#1の値をコピー
ファイル#2に貼り付け
ファイル#3の値をコピー
ファイル#1に加算で貼り付け
と異なっている上に、多くの場合貼り付け先のセルを指定していないので、どこに張り付くかは成り行きとなっているようにみうけられます。。
おまけに
>→上記の動きを38行分繰り返す
範囲を「F5→AR42」としていて「38行分繰り返す」の意味がわかりません。
確かにセル範囲の「F5→AR42」は38魚分を含んでいますが、セル範囲を対象に処理を行うなら、「繰り返す」必要は感じられないですね。
というわけで、サッパリわからないけれど、超エスパー的な山勘でこんなことかもしれないと・・・(当たるも八卦)
Sub Sample()
Dim ws1, ws2, ws3
Const target = "F5:AR42"
Set ws1 = Workbook("#1.xlsm").Worksheets("指定のシート名")
Set ws2 = Workbook("#2.xlsm").Worksheets("指定のシート名")
Set ws3 = Workbook("#3.xlsm").Worksheets("指定のシート名")
ws1.Range(target).Copy Destination:=ws3.Range(target)
ws2.Range(target).Copy
ws3.Range(target).PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd
End Sub
No.3
- 回答日時:
No2です。
投稿してから気づきましたがタイポがありました。(すみません)
すぐにわかるとは思いますけれど、一応、訂正しておきます
誤:Workbook()
正:Workbooks()
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトのエラー
Excel(エクセル)
-
Worksheets メソッドは失敗しました。のエラー処理のやり方
Visual Basic(VBA)
-
-
4
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
5
マクロの「1列おきに貼り付け処理を行う方法」を知りたいです。
Excel(エクセル)
-
6
'Range'メソッドは失敗しました
Excel(エクセル)
-
7
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
10
初歩的な事だと思います。 Sub または Function が定義されていません。
Visual Basic(VBA)
-
11
Vba初心者です。下記のコード助けてください Loopに対するDoがありませんと表示されます Sub
オープンソース
-
12
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
13
エクセルマクロエラー「'Cells'メソッドは失敗しました。'_Global'オブジェクト」について
Excel(エクセル)
-
14
エクセルVBAでパスの¥マークについて
Access(アクセス)
-
15
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
16
エクセルマクロエラー'Global'オブジェクト
Excel(エクセル)
-
17
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
18
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
19
VBA たまに変数がempty値になるエラー
Excel(エクセル)
-
20
押したボタンの位置取得(共通のマクロ)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
尿検査前日に自慰行為した時の...
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
風俗店へ行く前のご飯
-
尿検査の前日は自慰控えたほう...
-
値が入っているときだけ計算結...
-
EXCELで式からグラフを描くには?
-
納豆食べた後の尿の納豆臭は何故?
-
【Excelで「正弦波」のグラフを...
-
EXCELで条件付き書式で空白セル...
-
化合物のモル吸光係数データベ...
-
2つの数値のうち、数値が小さい...
-
MIN関数で空白セルを無視したい...
-
「Q.C. PASSED」とは?
-
エクセル指定した範囲からラン...
-
勃起する時って痛いんですか? ...
-
VLOOKUP関数を使用時、検索する...
-
精子に血が・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
イタリアから帰国する際、肉製...
-
2つの数値のうち、数値が小さい...
-
健否~書類の書き方~
-
VLOOKUP関数を使用時、検索する...
-
値が入っているときだけ計算結...
-
小数点以下を繰り上げたものを...
-
エクセルで空白セルを含む列の...
-
EXCELで条件付き書式で空白セル...
-
リンク先のファイルを開かなく...
-
ある範囲のセルから任意の値を...
-
精子に血が・・・
-
エクセルで数式の答えを数値と...
-
風俗店へ行く前のご飯
-
エクセル指定した範囲からラン...
-
一番多く表示のある値(文字列...
-
Excel 数値の前の「 ' 」を一括...
-
ワードのページ番号をもっと下...
-
MIN関数で空白セルを無視したい...
おすすめ情報