ここから本文です

エクセルのマクロで別シートへのデータ転記をしたいです。

mau********さん

2020/7/206:34:12

エクセルのマクロで別シートへのデータ転記をしたいです。

シート1の
列A(最終行不定)をシート2のB5からに
列C(最終行不定)をシート2のC5からに
列E~J(最終行不定)をシート2のD5からに

またシート2のA列はIDの列なのですが、
値が転記されたらその数に伴いIDが自動で入るようにしたいです。
よろしくお願い致します。

閲覧数:
122
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

2020/7/215:18:55

そのIDとやらは、どっから取ってくるんです?(´・ω・)

Sub test()
'列A(最終行不定)をシート2のB5からに
With Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
Sheets("Sheet2").Range("B5").Resize(.Rows.Count).Value = .Value
End With
'列C(最終行不定)をシート2のC5からに
With Range(Cells(1, "C"), Cells(Rows.Count, "C").End(xlUp))
Sheets("Sheet2").Range("C5").Resize(.Rows.Count).Value = .Value
End With
'列E~J(最終行不定)をシート2のD5からに
Dim fnd As Range
Set fnd = Range("E:J").Find(What:="*", Searchdirection:=xlPrevious)
With Range(Cells(1, "E"), Cells(fnd.Row, "J"))
Sheets("Sheet2").Range("D5").Resize(.Rows.Count, .Columns.Count).Value = .Value
End With
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2020/7/6 12:29:38

ありがとうございました

ベストアンサー以外の回答

1〜1件/1件中

2020/7/206:47:03

<転記>
大きく分けて3つあります。
(1)変数を配列にして1つずつ取得し、シート2へ転記する。
(2)シート1の下終端行、右終端列までをコピーして、そのままシート2へ貼り付ける。
(3)(2)と同様だが、あらかじめ極端に大きい範囲を決めておいて、その範囲をコピーしてシート2へ貼り付ける。(例:想定は5,000行だが10,000行をコピーする)

2は一番簡単ですが、セルに空きがあるときは最終行・列から終端の行・列を取得するなど、工夫が要ります。

<ID>
転記後にルールに従って1つずつIDを記載する。
作業で繰り返し使いIDを重複させないようにしたい場合は、特定のセルに記載した最後のIDを記載しておき、次回利用時はそのIDを基準に次のIDを振るようにする。
マクロでIDを自動記載するのであれば、何らかのルールが必須になります。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる