Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2701 / 13646 ツリー ←次へ | 前へ→

【66394】オートフィル よこやん 10/9/2(木) 18:34 質問[未読]
【66395】Re:オートフィル kanabun 10/9/2(木) 19:02 発言[未読]
【66397】Re:オートフィル kanabun 10/9/2(木) 21:21 発言[未読]
【66506】Re:オートフィル よこやん 10/9/7(火) 9:04 お礼[未読]

【66394】オートフィル
質問  よこやん  - 10/9/2(木) 18:34 -

引用なし
パスワード
   1列のみのオートフィルについて教えてください。

("H2")に数式が入っています。以下は空白です。
隣の列のG列(毎回件数が違います)の最終行に合わせて、
その数式が入るようにしたいのですが失敗してしまいます。
以下のようにしましたが、
-------------------------------------------------------------------------
Dim LastRow As Long
-------------------------------------------------------------------------
  Range("H2").Select
  ActiveCell.FormulaR1C1 = "=RC[-2]*RC[1]"
  Range("H2").Select
  LastRow = Range("G" & Rows.Count).End(xlUp).Row 'G列のラスト行の値
  Range("H2").Select
  Range("H2").AutoFill Destination:=Range("H2" & LastRow)

-------------------------------------------------------------------------
  Selection.AutoFill Destination:=Range("H2:LastRow")
  Range("H2:LastRow").Select
-------------------------------------------------------------------------
  Range("H2").Select
  Selection.Copy
  Range("H3:LastRow").Select
  ActiveSheet.Paste

-------------------------------------------------------------------------
実行時エラー'1004'
RangeクラスのAutofillメソッドが失敗しました。
と出てしまいます。

Range("H2").AutoFill Destination:=Range("H2" & LastRow)
ここで引っ掛かります。

ご教授願います。

【66395】Re:オートフィル
発言  kanabun  - 10/9/2(木) 19:02 -

引用なし
パスワード
   ▼よこやん さん:

そこに登場する範囲名

> Destination:=Range("H2" & LastRow)
> Destination:=Range("H2:LastRow")
> Range("H2:LastRow")
> Range("H3:LastRow")

すべておかしいですよ

たとえば LastRowが具体的に 200 とかだったら
範囲名がどうなるか、チェックしてみましょう

"H2200"
"H2:LastRow"
"H2:LastRow"
"H3:LastRow"

変数を""で囲ったら、それは単なる文字列です。

【66397】Re:オートフィル
発言  kanabun  - 10/9/2(木) 21:21 -

引用なし
パスワード
   ▼よこやん さん:
>-------------------------------------------------------------------------
>Dim LastRow As Long
>-------------------------------------------------------------------------
>  Range("H2").Select
>  ActiveCell.FormulaR1C1 = "=RC[-2]*RC[1]"
>  Range("H2").Select
>  LastRow = Range("G" & Rows.Count).End(xlUp).Row 'G列のラスト行の値
>  Range("H2").Select
>  Range("H2").AutoFill Destination:=Range("H2" & LastRow)
>  Range("H2").Select
>  Selection.Copy

結局、この部分は

 With Range("G2", Cells(Rows.Count, "G").End(xlUp)).Offset(, 1)
   .FormulaR1C1 = "=RC[-2]*RC[1]"
   .Copy
 End With

とまとめることができますね

【66506】Re:オートフィル
お礼  よこやん  - 10/9/7(火) 9:04 -

引用なし
パスワード
   なるほど!!
ありがとうございます。
助かりました。

2701 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free