- ベストアンサー
VBAで全てのワークシートに処理するとき
ブック内の全シートに、列を挿入しようとしたら、下の WS.Range("E1").Select の行で「Rangeクラスのselectメソッドが失敗しました」とエラーになります。 セルに入力する処理のときはこのパターンでできたのですが・・・いろいろ試してもわかりません T_T 何が必要でしょうか。 ----------------- Sub 列を挿入() Dim WS As Worksheet For Each WS In Worksheets WS.Range("E1").Select Selection.EntireColumn.Insert Next WS End Sub ----------------- よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Rangeオブジェクトに Select メソッドを使用するときは、 そのシートをアクティブにする必要があります。 ----------------------- WS.Activate WS.Range("E1").Select ----------------------- または、Select メソッドを使わずに↓のようにしてください。 ----------------------------------- WS.Range("E1").EntireColumn.Insert -----------------------------------
その他の回答 (2)
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
シートを選択させたくなければ、こっち For Each WS In Worksheets WS.Columns("E:E").Insert Next WS
お礼
再びありがとうございます。 こんな単純な処理にもいろいろな方法があるとは・・・感動。
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
For Each WS In Worksheets WS.Activate ←これ? WS.Range("E6").Select Selection.EntireColumn.Insert Next WS
お礼
ありがとうございます。 基本を勉強せねば・・・
お礼
ありがとうございます。 なるほどー もっとスマートな方法あるのですね。 勉強になりました。