• ベストアンサー

エクセルVBA

選択しているセルが1セルの場合は、その行を1行ごと、 例えばB10にセルがあれば、10行めを行コピーして11行めに、行挿入、 選択しているセル範囲が3セルの場合は、そのセルのある3行をコピーして 例えばB10:B13を範囲選択していたら、10~13行めを行コピーして、 14行めに3行まとめて挿入するようなマクロ作るには、 どのように記述したらいいでしょうか? コピー元には、計算式を含むセルがあります。 貼り付け先には、その計算式もコピペされているとベストなんですが・・・

質問者が選んだベストアンサー

  • ベストアンサー
  • monamucho
  • ベストアンサー率63% (7/11)
回答No.1

選択範囲の全行をコピーして、まとめて挿入する例です。 計算式もコピペされます。 With Selection .EntireRow.Copy Rows(.Offset(.Rows.Count).Row).Insert Shift:=xlDown End With Application.CutCopyMode = False

domiki
質問者

お礼

希望通り動いてくれました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルVBA

    アクティブ「セル」のある「行」をコピーし、そのアクティブセルの下へ挿入するマクロに、複数「セル」を選択している場合は、複数行を挿入するように追記するには、どうしたらいいでしょうか? Sub Macro1() Rows(1).Copy ActiveCell.EntireRow.Insert Shift:=xlDown Application.CutCopyMode = False ActiveCell.EntireRow.Hidden = False End Sub よろしくお願いします。m(_ _)m

  • エクセル2010・行の挿入貼り付けが出来ません

    本日、エクセル2010にバージョンアップしました。 今まで2003で、CSVファイルをエクセルで開き、対象の行を選択してコピーし、 同じエクセルの中で開いた他のエクセルの表に挿入貼り付けをしていたんですが、 バージョンアップしてから同じことを行うと、 『コピー領域と貼り付け領域の形が違うため、情報を貼り付けることができません。 情報を貼り付けるには、次のいずれかの操作を行ってください; ・1つのセルをクリックし、貼り付けてみてください ・貼り付け元の形を確かめ、適切な範囲を選択したあと、貼り付けてみてください』 と、出てしまって貼り付けできなくなってしまいました。 対象のセルを選択(例 A1:C14 など)すると挿入できますが、行を選択(例 R14 など)で選択すると上記のエラーになってしまいます。 何か設定の違いなのでしょうか? どなたか教えてくださると助かります。よろしくお願いします。

  • VBA オートフィルター後のコピー

    オートフィルターで抽出された結果をコピーし、別の空白部分のセルへ貼り付けしたいのですが、抽出結果の一部しか貼り付けされません。オートフィルター後の結果をコピペするのはどういう方法(範囲選択方法)がベストなのでしょうか?

  • エクセル2010です。マクロ記述を教えてください。

    行番号1から12の任意のセルをコピーして貼り付ける場合ですが、 行番号13以降への貼り付けをしようとしても「制御されています。」というメッセージボックスが出て、しかも貼り付けが実行されない設定をしたいと思います。 また、 行番号13以降の任意のセルをコピーして貼り付ける場合も、 行番号1から12への貼り付けをしようとしても「制御されています。」というメッセージボックスが出て、しかも貼り付けが実行されない設定をしたいと思います。This Workbookにどんなマクロ記述をしたらよいですか? 教えてください。よろしくお願いします。

  • コピー後に値のみ貼り付け エクセル、VBAの記述について

    マクロ初心者です。 エクセルで選択範囲を指定後コピーし、 自動的に別のシートの末尾に貼り付けられるようにしたのですが、 この内容のまま「貼り付け」を「値のみ貼り付け」に訂正する場合 どのように変更すればいいのか、教えてくださると嬉しいです。 宜しくお願いいたします。 Sub 選択範囲をコピー後、指定シートの末尾に貼り付け Worksheets("sheet1").Activate Range("b11:I17").Copy Workbooks("book2.xls").Worksheets("Sheet1").Activate 行 = Range("B1").CurrentRegion.Rows.Count + 1 ActiveSheet.Paste _ Destination:=Workbooks("book2.xls").Worksheets("Sheet1").Range("B" & 行) End Sub

  • エクセルVBAのコードの書き方を教えてください

    エクセルVBAの初心者です。 下記①-⑲のようなコードを書きたいのですが、どなたかお分かりになる方がいましたら、 ご教示いただけますと幸いです。 ① オートフィルターでシート[list]のA列に"●"がある特定の行だけを以下作業の対象にしたい ② ①で特定した行のE列セルの値を、シート[output]のB9セルにコピペする ③ ①で特定した行のF列セルの値を、シート[output]のB12セルにコピペする ④ ①で特定した行のG列セルの値を、シート[output]のB15セルにコピペする ⑤ ①で特定した行のH列セルの値を、シート[output]のB18セルにコピペする ⑥ ①で特定した行のI列セルの値を、シート[output]のB21セルにコピペする ⑦ ①で特定した行のJ列セルの値を、シート[output]のB24セルにコピペする ⑧ ①で特定した行のK列セルの値を、シート[output]のB27セルにコピペする ⑨ ①で特定した行のL列セルの値を、シート[output]のB30セルにコピペする ⑩ ①で特定した行のM列セルの値を、シート[output]のB33セルにコピペする ⑪ ①で特定した行のN列セルの値を、シート[output]のB36セルにコピペする ⑫ ①で特定した行のO列セルの値を、シート[output]のB39セルにコピペする ⑬ ①で特定した行のP列セルの値を、シート[output]のB42セルにコピペする ⑭ ①で特定した行のQ列セルの値を、シート[output]のB45セルにコピペする ⑮ ①で特定した行のR列セルの値を、シート[output]のB48セルにコピペする ⑯ ①で特定した行のS列セルの値を、シート[output]のB51セルにコピペする ⑰ ①で特定した行のT列セルの値を、シート[output]のB54セルにコピペする ⑱ ①で特定した行のU列セルの値を、シート[output]のB57セルにコピペする ⑲ シート[output]のB3:B59をテキストファイルを呼び出してコピペする ※このとき、上記②-⑱で記述したB9からB57のセルには改行が含まれる場合が  あるため、テキストファイルへのペースト時に""が表示されてしまうが、  もし可能であれば、この""が表示されないようにしたい。

  • エクセルVBAについて

    以下の処理をマクロで実行しようと思っていますが、わからない部分があるので教えてください。 (例):  A B C D E F G 1 1 2  3  4 5  6  7 2 10 30 50 70 90 130 150 3 4 (1)1行目のどこかの連続したセル(例えばセルA1から セルD1)をドラッグする。 (2)マクロを実行する。 (3)セルA4に、「D2-A2」を計算した値が自動的に入力 される。この例では「70-10=60」  これは、(1)で例えばセルB1からF1をドラッグした場 合には、「F2-B2」を計算した値を入力したいので す。   要は、連続したセルを選択してその始点と終点のセルの行と列を取得できればこの処理はできると思うのですが、方法が分かりませんので教えてください。 よろしくお願いします。

  • 【再】エクセル2013 マクロをご教示ください

    Sheet1で選択しているセルの行をSheet2に転写したいです。 Sheet1とSheet2の4行目に見出し。 Shet1にはA~U列までデータがあります。(途中空白セルの場合もあり) Sheet1の5行目以降の、あるセルを選択してマクロを実行すると Sheet1のC~S列までをSheet2のA~Q列へコピペしたいです。 Sheet1は H列に必ずデータがあるので それらを最終行の判断基準とします。 Sheet1での選択セルは複数の場合もあります。 ただし、同じ行のセルを複数選択しても Sheet2への貼り付けは1行とします。 マクロを実行する度に、Sheet1での選択セルの該当行が Sheet2へ追加されるようにしたいです。 (Sheet2へコピペされたデータは残します) また、Sheet2への貼り付け内容が同じだった場合は 注意喚起のため メッセージで 「重複データが存在します」を表示したいです。 重複の判断基準はSheet2の B、D、F列とします。 宜しくお願い致します。

  • エクセル(VBA)で複数セルのコピーができません

    お世話になっております。 マクロを使って複数のセルを選択してコピーし、別のブックにあるシートへ 貼り付けたいのですが上手くいきません。  Range(Selection, Selection.End(xlToRight)).Select   Selection.Copy 上記のようにコピーしたいセルの入っている行全体の貼り付けは出来たのですが、必要なデータのセルのみ(隣り合っていない)を選択して 貼り付けようとすると何もコピーされていない状態で終了してしまいます。 (変数に代入してコピー等・・・) どなたか教えて下さい。

  • VBA フィルターで抽出したデータを別のファイルの

    VBA フィルターで抽出したデータを別のファイルのシートのセルにヘッダー行とフッター行のあるシートに挿入したい お世話になります。 excel のフィルターで抽出したデータを別のファイルのシートに抽出したデータと同一フォーマットの入っている原紙がありその原紙をコピーしたシートのヘッダー行(A1-A8)の後、9行目からフッター行の手前、52行めまでに貼り付けするを、フィルターで抽出した分繰り返したいのです。原紙 のシートはコピペでしたに20枚ほど作ってあります。 マクロの記述でコピペを繰り返せば作れそうな気はしますが、汎用性が無いので、また私の頭も固いので。 宜しくお願いします。

このQ&Aのポイント
  • プラスチックを冷やすために必要な冷却距離を計算する方法について説明します。
  • プラスチックの引き取り流速、入口温度、出口温度、比熱、水槽内温度を利用して、冷却距離を求めることができます。
  • 具体的な計算方法は、プラスチックの比熱を用いて熱量を計算し、熱量の差から冷却距離を求めます。
回答を見る

専門家に質問してみよう