戻る  □VBAのサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
Sheet1の最終行をコピーし、Sheet2の最終行にセルを指定して貼り付けたい

    [129990] Sheet1の最終行をコピーし、Sheet2の最終行にセルを指定して貼り付けたい-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ のぶ -(2019/02/21(15:31))
    □U R L/
      サイト検索で下記のVBAを見つけました。
      
      Sub copy_last_line2()
      
      Dim GYO1, GYO2 As Long
      
      'シート1の最終行
      GYO1 = Sheets("集約").Cells(Rows.Count, 1).End(xlUp).Row
      'シート2の最終行の一行下
      GYO2 = Sheets("集約一覧").Cells(Rows.Count, 1).End(xlUp).Row + 1
      
      'シート1を選択
      Sheets("集約").Select
          'シート1のA3からR列の最終行までコピー?このままだとボックスコピーになります。
          'Range(Cells(3, 1), Cells(GYO1, 7)).Copy
      'シート1のA列最終行からR列最終行を一行だけコピー
      Range(Cells(GYO1, 1), Cells(GYO1, 7)).Copy
      
      'シート2を選択
      Sheets("集約一覧").Select
          'シート2のA列の最終行のセルを選択したい?
          'Range("A" & GYO2).Select
      'シート2のA列の最終行のセルを選択
      Cells(GYO2, 1).Select
      'コピーした行をペースト
      ActiveSheet.Paste
      Application.CutCopyMode = False
      
      End Sub
      
      上記はSheet1の最終行をコピーしてSheet2の最終行にペーストしてくれるマクロです。ちゃんとできました。
      
      ただ私は、Sheet1の最終行の1行をコピーするのではなく、AからDをコピー、EからGはコピーせず飛ばして、HからJまでをコピーし、Sheet2の最終行にAからDはそのままAからD、HからJはEからGへペーストしたいのですが、その場合はどうしたらよいでしょうか。
      
      マクロ初心者で質問もわかりにくいかもしれませんが、ご指導よろしくお願いいたします。
      
      OSはWindows10 Excel2007と2010を使用しております。
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒Excel 2007
      ++++++++++++++++++++




    [129993] Re[1]: Sheet1の最終行をコピーし、Sheet2の最終行にセルを指定して貼り付けたい-

    記事引用/メール受信=OFF■

    □投稿者/ apple -(2019/02/22(00:05))
    □U R L/
      マクロ記録は試したことはありますか?
      例えば、最終行が 7 行目だとして、マクロ記録で 7 行目の A:D の範囲と H:J の範囲を
      選択してみて下さい。
      
        Range("A7:D7,H7:J7").Select
      
      というようなコードが得られます。※
      
      そのように選択された状態で、コピーし、A 列のセルを選択し、貼り付けを行うと
      >AからDはそのままAからD、HからJはEからGへペースト
      という状態になる筈ですよ。
      
      ※
      "A7:D7,H7:J7" というような文字列となるような文字列式を作成すれば良いのです。
      
      Sub Sample()
          Dim GYO1 As Long, GYO2 As Long ' それぞれ型宣言すべし(省略した方は Variant 型)
          
          GYO1 = Sheets("集約").Cells(Rows.Count, 1).End(xlUp).Row
          'シート2の最終行の一行下
          GYO2 = Sheets("集約一覧").Cells(Rows.Count, 1).End(xlUp).Row + 1
          
          '※ 以下は確認の為だけにメッセージ表示してます。実際には以下1行は不要です。
          MsgBox "A" & GYO1 & ":D" & GYO1 & ",H" & GYO1 & ":J" & GYO1 ' これは確認の為
          '※
          Sheets("集約").Range("A" & GYO1 & ":D" & GYO1 & ",H" & GYO1 & ":J" & GYO1) _
              .Copy Destination:=Sheets("集約一覧").Cells(GYO2, 1)
      End Sub
      
      注意 VBA の質問は次回から「VBAのサロン」にして下さい。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [130102] Re[2]: Sheet1の最終行をコピーし、Sheet2の最終行にセルを指定して貼り付けたい-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ のぶ -(2019/03/22(22:31))
    □U R L/

      apple様

      VBAまったくの初心者です。
      初心者のわかりにくい質問に丁寧にご回答ありがとうございました。

      解決いたしました。
      書き込み場所まで間違えたようで申し訳ございません。

      大変助かりました。
      ありがとうございました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G