[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ 指定範囲を1行置きに、任意の回数ペースト』(くろさか)
始めまして。
マクロで次のような事をやりたいと思っています。
マクロの記録しかやった事の無い初心者です。
よろしくお願いします。
コピーしたい頁は、インプットボックスでセルを選択させたいです。
選択させた頁をコピーして下へ下へペーストして、頁を増やしたいと思っています。
A B C D E 1---- ---- ---- ---- ----
2== == == == ==
3::::: :::: :::: ::::: :::::
4||||| ||||| ||||| ||||| |||||
5++ ++ ++ ++ ++
6* * * * *
インプットボックスで(A4:E6)を選択その後コピーして
選択した4行目から貼り付け一つ下に下がり5行目に貼り付け一つ下に下がり6行目に貼り付けと繰り返す
繰り返す回数もインプットボックスで入力した数字だけ繰り返したいです
うまく伝えれているかわかりませんがご回答お願いします…
< 使用 Excel:Excel2010、使用 OS:Windows10 >
ただ選択した一番上の行から貼り付けをしていくのはところから貼り付けをするのはいつも同じです
(くろさか) 2020/05/23(土) 17:59
A B C D E 1---- ---- ---- ---- ---- 2== == == == ==
3::::: :::: :::: ::::: :::::
4||||| ||||| ||||| ||||| |||||
5||||| ||||| ||||| ||||| |||||
6||||| ||||| ||||| ||||| |||||
6++ ++ ++ ++ ++
7* * * * *
このような感じに増えていくものを作りたいです
(くろさか) 2020/05/23(土) 21:30
参考に
Sub Test() Dim myCell As Range Dim myNum As Long
On Error Resume Next Set myCell = Application.InputBox(prompt:="処理範囲を選択してください。", Type:=8) If Err.Number <> 0 Then Exit Sub On Error GoTo 0 myNum = Application.InputBox(prompt:="繰り返し回数を入力して下さい。", Default:=1, Type:=1) If myNum = 0 Then Exit Sub With myCell.Rows(1) .Copy .Resize((myCell.Rows.Count - 1) * myNum).Insert Shift:=xlDown End With Application.CutCopyMode = False End Sub
(ピンク) 2020/05/23(土) 22:06
今パソコンが手元にないので後日試してみます。
調べて意味も理解できるよう努力させてもらいます
(くろさか) 2020/05/24(日) 18:01
今日試したところできました!
追加の質問で申し訳ないのですが
A B C D E 1---- ---- ---- ---- ---- 2== == == == == 3::::: :::: :::: ::::: :::::
4||||| ||||| ||||| ||||| |||||
5 ++ ++ ++ ++ ++
6||||| ||||| ||||| ||||| |||||
7++ ++ ++ ++ ++
8* * * * *
このように真ん中2行を繰り返し貼り付ける方法はありますでしょうか?
(くろさか) 2020/05/26(火) 12:04
>このように真ん中2行を繰り返し貼り付ける方法はありますでしょうか? 何に対して"真ん中2行" ???
>インプットボックスで(A4:E6)を選択その後コピーして A4:E6 の "真ん中2行" ???
A4:E5 を選択したら A4:E5 を指定回数分、繰り返し貼り付けます
Sub Test2() Dim myCell As Range Dim myNum As Long
On Error Resume Next Set myCell = Application.InputBox(prompt:="処理範囲を選択してください。", Type:=8) If Err.Number <> 0 Then Exit Sub On Error GoTo 0 myNum = Application.InputBox(prompt:="繰り返し回数を入力して下さい。", Default:=1, Type:=1) If myNum = 0 Then Exit Sub With myCell .Copy .Resize((myCell.Rows.Count) * myNum).Insert Shift:=xlDown End With Application.CutCopyMode = False End Sub
(ピンク) 2020/05/26(火) 13:08
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.