プロが教える店舗&オフィスのセキュリティ対策術

Range("A1").Select
Selection.AutoFill Destination:=Range("A1:A11"), Type:=xlFillCopy
Range("A1:A11").Select



上記のスクリプトで、
Rangeのところを
隣あった列の最下段まで

と、言うような指定はどうすればいいのでしょうか?

B列の最後の行と隣り合ったセルまで、
A1のセルをコピーしたい場合です。

A 回答 (4件)

こんな感じで



Range("A1").AutoFill Destination:=Range("A1:A" & Range("B" & Cells.Rows.Count).End(xlUp).Row), Type:=xlFillCopy
    • good
    • 11
この回答へのお礼

その通りです。
望み通りの結果になりました。

ありがとうございます!!

お礼日時:2008/03/20 20:01

こんばんは。



通常は、ショートカットを使えばよいです。

A1, B1
のセルがあるとして、A1 に値を入れ、A1の右下角(フィル)をダブルクリックすると、自動的に、B列のデータの終わりまで、オートフィルが利きます。

しかし、それは、オートフィルのデフォルトなので、最後の四角のイメージ(オートフィルオプション)が出てきますから、それをクリックして、「セルのコピー」を選択すればよいです。

マクロでしたら、

Sub TestCopy()
  With Range("B1", Range("B65536").End(xlUp))
    If .Cells(1, 1).Offset(, -1).Value = "" Then
      MsgBox "最初のセルに値がありません。", 48
      Exit Sub
    End If

    .Cells(1, 1).Offset(, -1).Copy .Offset(, -1)
    ''オートフィルの場合
    ''.Cells(1, 1).Offset(, -1).AutoFill Destination:=.Offset(, -1)
  End With
End Sub
    • good
    • 2
この回答へのお礼

いつもありがとうございます。
上記の方法でも、同様に目的通りコピーされました。

ありがとうございます。

お礼日時:2008/03/20 20:54

解決されていると思いますが、こんな構文でも。


最初の
>Range("A1").Select
のセレクトは不要です。この例では問題になりませんが、セレクトが多いと処理が遅くなる原因にもなりますよ。

 Range("A1").AutoFill Destination:=Range(Range("A1"), _
   Range("B65536").End(xlUp).Offset(0, -1)), Type:=xlFillCopy
 Range(Range("A1"), Range("A65536").End(xlUp)).Select
    • good
    • 1

>B列の最後の行と隣り合ったセルまで


ということは具体的にどういうこと。C列についてB列の最終行までか。
実例を挙げないからこんな疑問が出る。
ーー
下記でどうかな。
Sub test01()
d = Range("B65536").End(xlUp).Row
Set rng = Range("C1:C" & d)
MsgBox rng.Address
With Range("C1") 'スタート値
.Value = "1月"
.AutoFill Destination:=rng
End With
'Range("A1:A11").Select
End Sub
結果
B列  C列
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月
sss1月
B列に最下行でsssがあり、その行までC列にデータを入れた。
ーー
.Value = "睦月"にすると
睦月
如月
弥生
・・
となる(余談)

この回答への補足

  A B C
1 copy a
2 ↓  a
3    a
4    a
5    a
6    a
7    a
8    a
9    a
10   a

 ココマデ

B列の10行まで書き込まれているとします。
Aの[copy]をB列の最後、
10行目と同じところまでコピーしたいのです。

B列の数は毎回変わります。

すいません説明不足です。

補足日時:2008/03/20 18:41
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています