解決済み

VB:アクティブなシート以外でのオートフィル

  • 困ってます
  • 質問No.7338918
  • 閲覧数518
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 45% (9/20)

VB歴4日の初心者です。
初歩的な質問ですがご教授願います。

VBで、あるシートでオートフィルした後、別のシートでオートフィルを行いたく、
以下のようなマクロを組みました。


  ~前略~

'入力行(最下段)の定義
LastRow = Range("A65535").End(xlUp).Row
LastRow2 = Worksheets(3).Range("A65535").End(xlUp).Row

~中略~

'日付を追加、あとオートフィル
Worksheets(1).Cells(LastRow + 1, 1) = Now
Worksheets(1).Range(Cells(LastRow, 3), Cells(LastRow + 1, 3)).FillDown
Worksheets(3).Cells(LastRow2 + 1, 1) = Now
Worksheets(3).Range(Cells(LastRow2, 3), Cells(LastRow2 + 1, 3)).FillDown
  
  ~後略~

結果として、1番目のワークシートではオートフィルされたのですが、
3番目のワークシートでは行われませんでした。
日付は両方のワークシートで正常に追加されました。

ステップインで色々と観察してみたのですが、
3番目のワークシートがアクティブな時はうまくオートフィルされています。
何故でしょうか?FillDownってそういうものなのでしょうか?
できればワークシートを切り替えず動作させたいのですが、、、

でも、うまく動くうごかないならしょうがないか、と思い
以下のように修正してみました。

'日付を追加、あとオートフィル
Worksheets(1).Cells(LastRow + 1, 1) = Now
Worksheets(1).Range(Cells(LastRow, 3), Cells(LastRow + 1, 3)).FillDown
ThisWorkbook.Worksheets(3).Active
Worksheets(3).Cells(LastRow2 + 1, 1) = Now
Worksheets(3).Range(Cells(LastRow2, 3), Cells(LastRow2 + 1, 3)).FillDown

が、うまく動きません。というかシートが切り替わりません。
何故でしょうか?
併せてお答えいただければ幸いです。

よろしくお願いします。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 59% (574/965)

下記コードは、シートがアクティブでなくても動作しました。

Sub test()
With Worksheets(1)
.Range(.Cells(1, 1), .Cells(3, 1)).FillDown
End With
With Worksheets(3)
.Range(.Cells(1, 1), .Cells(4, 1)).FillDown
End With
End Sub

ここで注意すべき点は、.Cells(...)の頭にも"."が付いている事です。
アクティブシート以外を操作する際は、Range()内のCells()によるセル指定についても、どのワークシートに所属するのかを明示してやらないと、'Cells'(またはRange)メソッドは失敗しました。'_Global'オブジェクトとかいった、訳の分からないエラーメッセージに悩まされる事になります。

なお、
ThisWorkbook.Worksheets(3).Active
は、
ThisWorkbook.Worksheets(3).Activate
が正しいです。
お礼コメント
hijiriki

お礼率 45% (9/20)

お礼が遅くなりました!

>ここで注意すべき点は、.Cells(...)の頭にも"."が付いている事です。
まさにコレでした、直したらちゃんと動作しました。

アクティブシートで問題なく動作していたので、
"."が無くても省略のない正式な書式だと思い込んでいました。

ありがとうございました!
投稿日時 - 2012-03-06 20:30:45
Be MORE 7・12 OK-チップでイイコトはじまる
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
このQ&Aのテーマ

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ