Excel VBA質問箱 IV

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

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


2761 / 13645 ツリー ←次へ | 前へ→

【66115】可変最終行までのコピー みな 10/8/1(日) 17:19 質問[未読]
【66116】Re:可変最終行までのコピー UO3 10/8/1(日) 18:03 回答[未読]
【66117】Re:可変最終行までのコピー みな 10/8/1(日) 21:10 お礼[未読]

【66115】可変最終行までのコピー
質問  みな  - 10/8/1(日) 17:19 -

引用なし
パスワード
   VBAを始めたばかりの初心者です。
よろしくお願いします。

以下のようなシートがあります。


1  100  105
2  200
3  150


“1”はセルA1に該当します。
“105”に該当するところは、計算式“B1*1.05”が入っています。
列Aは上の見本では3までですが、最終行が毎回変わります。
この“105”の計算式を、(最終行をA列で判断して)最終行までコピーしたいのですが、うまくいきませんでした。

-------------------------------------

Sub 計算式コピー()

  Dim i As Long

  i = Range("A65536").End(xlUp).Row
    
  ThisWorkbook.Worksheets(1).Cells(1, 3).Select
  Selection.AutoFill Destination:=Range("C2:C" & i), Type:=xlFillDefault

End Sub

-------------------------------------

これだ!と思って使用したのですが、Selection.AutoFill自体正しいのか判らなくなってきました…。

“B1*1.05”の計算式を下までひっぱれれば、記入方法にはこだわりません!
ご助言よろしくお願い致します。

【66116】Re:可変最終行までのコピー
回答  UO3  - 10/8/1(日) 18:03 -

引用なし
パスワード
   ▼みな さん:

こんにちは

>  Selection.AutoFill Destination:=Range("C2:C" & i), Type:=xlFillDefault

このC2をC1に変えてためしてみてください。

ちなみに以下のように少ない行数で書くこともできます。

Sub 計算式コピー2()

  Dim i As Long

  i = Range("A65536").End(xlUp).Row
  
  Cells(1, 3).AutoFill Destination:=Range("C1:C" & i), Type:=xlFillDefault

End Sub

【66117】Re:可変最終行までのコピー
お礼  みな  - 10/8/1(日) 21:10 -

引用なし
パスワード
   UO3様

!!
ありがとうございます!
言われてみて納得しました。

初心者&回りに聞く人がいなく、つまづいておりました…。
本当にありがとうございました。

少ない行数のほう、きちんと読みながら使用してみたいと思います。

また何かありましたらよろしくお願いいたします。
(ないほうが良いんですが(^^;))

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