[[20200519172217]] 『2列ごとに2列挿入』(noa) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『2列ごとに2列挿入』(noa)

頭から5列(A〜E)を除いて、2列ごとに2列を挿入したいです。

現在は2列同時に挿入する方法がわからず下記のような形ですが、

sub test()
dim i as long

 For i=Cells(1,columns.count).End(xlToLeft).Column to 6 step -2
 Columns(i).insert
 next i

  For i=Cells(1,columns.count).End(xlToLeft).Column to 6 step -3
  Columns(i).insert
  next i

end sub

質問内容は、
1.2列同時に挿入するにはどうすればよいか
2.上記のような空白列挿入ではなく、〇列ごとにコピーしてきた列
 (同シートの仮にA列)を挿入する場合にはどうすればいいか

この2点です。
よろしくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


こんな感じでどうですか?
    Sub test2()
        Dim i As Long

        For i = Cells(1, Columns.Count).End(xlToLeft).Column To 6 Step -2
            Columns(i).Resize(, 2).Insert
        Next i

    End Sub
 '----------------------------------------------------
    Sub test3()
        Dim i As Long

        For i = Cells(1, Columns.Count).End(xlToLeft).Column To 6 Step -2
            Range("A:A").Copy
            Columns(i).Resize(, 2).Insert Shift:=xlToRight
        Next i

    End Sub

(もこな2 ) 2020/05/19(火) 17:56


もこな2様

早速ありがとうございます。
resize、初めて知りました。ありがとうございます!

空白列を入れるときには .insert だけでいけていたのが、
コピーを挿入しようとするとうまくいかず、これも困っていました。
shift:=xlToRight が必要になるときと、そうでないときの違い、
もしご面倒でなければ教えてください。

(noa) 2020/05/19(火) 18:06


>shift:=xlToRight が必要になるとき
↓をご覧ください
https://www.moug.net/tech/exvba/0050076.html
https://www.sejuku.net/blog/70814
(今回は、【列まるごと】なので、省略しても問題ないとおもいますが、マクロの記録を切り貼りしたのでそのままつけちゃいました。ごめんなさい。)

(もこな2 ) 2020/05/19(火) 18:12


もこな2様

よくわかりました。
セルの時は特に方向気をつけなきゃってことですね。
ありがとうございます。
(noa) 2020/05/19(火) 22:22


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.