プロが教えるわが家の防犯対策術!

EXCELで5セルづつ結合された表があり、決まった列数ごとに2列挿入して合計欄を作りたいのですが、手
動で2列選択してツールバーより挿入とすると2列のみ挿入されますが、マクロで2列選択して挿入se
lection.insertをするとなぜか連結セル分5列選択し挿入されてしまうのですが、2列のみ挿入するには
どうしたらいいのでしょうか。
For i = 72 To t Step 72
Sheets("描画表").Select
'Column(列)変換
y2 = IIf(y > 26, Chr(y \ 26 + &H40), "") & Chr(y Mod 26 + &H41)
y3 = IIf((y + 1) > 26, Chr((y + 1) \ 26 + &H40), "") & Chr((y + 1) Mod 26 + &H41)
Columns("" & y2 & ":" & y3 & "").Select
Selection.Insert Shift:=xlToRight

ローカルウィンドウでマクロのステップをチェックするとy2、y3ともちゃんと列番号が入っているように思うのですがよろしくおねがいします

A 回答 (2件)

ちょっと問題が理解しにくいです・・・・



yが、ソース中で定義されていないので、分かりにくいのですが、yを左のセルから動かしていませんか?
それでしたら右のセルから動かしたら、うまくいくでしょう。
For y = 最終目的列 To 開始目的列 Step -72
のように。

あと列を文字列に変換するの必要だと思えません。
x列目で2列挿入するなら
Range(Columns(x), Columns(x + 1)).Insert Shift:=xlToRight
でいいと思います。
    • good
    • 0
この回答へのお礼

列を文字に変換せずに範囲指定する方法を教えてくださってありがとうございます。マクロがすっきりしました。右から動かす方法もあるんですね。yは1枚目の合計欄を挿入したい列番号だったんです。質問の仕方も、マクロも回りくどくて申し訳ありませんでした。助かりました。ありがとうございました。

お礼日時:2004/12/17 11:22

Selection.Insert Shift:=xlShiftToRight


にしてみて下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。現象は変わりませんでしたが、挿入処理をする対象の列が1列ずれていたことが原因だったみたいでなんとか動きました。

お礼日時:2004/12/17 11:12

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