Excel VBA質問箱 IV

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

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


8152 / 13644 ツリー ←次へ | 前へ→

【34892】マクロについて教えて下さい-その2 ぷーちゃん 06/2/15(水) 22:59 質問[未読]
【34895】Re:マクロについて教えて下さい-その2 やっちん 06/2/15(水) 23:08 発言[未読]
【34898】Re:マクロについて教えて下さい-その2 ぷーちゃん 06/2/15(水) 23:59 質問[未読]
【34901】Re:マクロについて教えて下さい-その2 やっちん 06/2/16(木) 0:10 回答[未読]
【34913】Re:マクロについて教えて下さい-その2 ぷーちゃん 06/2/16(木) 1:31 お礼[未読]

【34892】マクロについて教えて下さい-その2
質問  ぷーちゃん  - 06/2/15(水) 22:59 -

引用なし
パスワード
   以下は、C131〜Q131までの連続したセルを選択して、1行下にドラッグコピーした自動実行のプログラムです。
これを改造?して、次にマクロを実行した時に、その下のC132〜Q132までの連続したセルが自動選択されて、1行下にドラッグコピーされるようにしたいのです。
つまり、マクロを実行する度に、1つ下のセル範囲が選択されて、1行下にドラッグコピーされるようにしたいのです。

Sub Macro3()

' Macro3 Macro
' マクロ記録日 : 2006/2/15 ユーザー名 : -

'
  Range("C131:Q131").Select

  Selection.AutoFill Destination:=Range("C131:Q132"), Type:=xlFillDefault

  Range("C131:Q132").Select

End Sub


どなたかわかる方、教えて下さい。
よろしくお願い致します。

【34895】Re:マクロについて教えて下さい-その2
発言  やっちん  - 06/2/15(水) 23:08 -

引用なし
パスワード
   ▼ぷーちゃん さん:
こんばんは。
こんなんでどうでしょう。
Sub Macro3()
  With Range("C" & Rows.Count).End(xlUp).Resize(, 15)
    .AutoFill Destination:=.Resize(2), Type:=xlFillDefault
  End With
End Sub

【34898】Re:マクロについて教えて下さい-その2
質問  ぷーちゃん  - 06/2/15(水) 23:59 -

引用なし
パスワード
   ▼やっちん さん:
>Sub Macro3()
>  With Range("C" & Rows.Count).End(xlUp).Resize(, 15)
>    .AutoFill Destination:=.Resize(2), Type:=xlFillDefault
>  End With
>End Sub


回答ありがとうございます。
ただ、C131〜Q131のセルを基点にしたいのです。
上記だと、一番したのC***〜Q***が基点になってしまいます。

よろしくお願いいたします。

【34901】Re:マクロについて教えて下さい-その2
回答  やっちん  - 06/2/16(木) 0:10 -

引用なし
パスワード
   ▼ぷーちゃん さん:
途中に別のデータがあるんですね。
レイアウトを変更できないのであれば
処理の対象になる行を別のシートに保持しましょうか。
新しいシート「ワーク」を作って
セルA1に「オートフィル」
セルB1に「131」と入力してください。

Sub Test1()
  With Range("C" & Sheets("ワーク").Range("B1").Value).Resize(, 15)
    .AutoFill Destination:=.Resize(2), Type:=xlFillDefault
  End With
  With Sheets("ワーク").Range("B1")
    .Value = .Value + 1
  End With
End Sub

【34913】Re:マクロについて教えて下さい-その2
お礼  ぷーちゃん  - 06/2/16(木) 1:31 -

引用なし
パスワード
   ▼やっちん さん:
>▼ぷーちゃん さん:
>途中に別のデータがあるんですね。
>レイアウトを変更できないのであれば
>処理の対象になる行を別のシートに保持しましょうか。
>新しいシート「ワーク」を作って
>セルA1に「オートフィル」
>セルB1に「131」と入力してください。
>
>Sub Test1()
>  With Range("C" & Sheets("ワーク").Range("B1").Value).Resize(, 15)
>    .AutoFill Destination:=.Resize(2), Type:=xlFillDefault
>  End With
>  With Sheets("ワーク").Range("B1")
>    .Value = .Value + 1
>  End With
>End Sub


できました。本当に、有難うございました。

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