いつも親切に教えてくださりありがとうございます。
今回悩んでいるのは下記内容です。
・シート「①」「①の元データ」「②」「②の元データ」……のように、①~⑮までの
元データとそれを貼り付けるためのシートが存在する
・貼り付け元のシートを「~の元データ」、貼り付け先のシートをそれに対応する数字とする
・①②③……のシートへ、①の元データ・②の元データ・③の元データ……のシートから、
①②③……のシートに同じ名前の見出しがある列のみコピーしたい
このような内容です。もしわかる方がいらっしゃればお知恵をお借りしたいです。
よろしくお願いいたします。
No.1
- 回答日時:
こんにちは
どこがわからないのかもわかりませんけれど・・・
基本的には、一つのシートへの転記処理を作成して、それをループして、必要なだけ繰り返すようにすれば宜しそうに思われます。
シートのセットは
・文字の連結
・指定シートの存在確認
が出来れば良いので、できているものと仮定して・・
順に1列ずつ処理をしてゆくとして、
タイトルと合致する列の検索がわからないということでしょうか?
簡単にやるなら、1行目から一致するものを探せば良いだけなので、
元シート.Rows(1).Find(検索したいタイトル)
などで、探すことが可能です。
https://learn.microsoft.com/ja-jp/office/vba/api …
あるいは、1行目をループして、値が一致するセルを探しても宜しいかと。
あとは、対象列をコピペすればよいだけなので、
参照元列.Copy 転記先列
とすれば列のコピーができます。
値だけを転記したければ、
転記先列.Value = 参照元列.Value
で「値の転記」が可能です。
No.2ベストアンサー
- 回答日時:
以下のマクロを標準モジュールに登録してください。
Option Explicit
Public Sub シート間転記()
Dim sws As Worksheet
Dim tws As Worksheet
Dim sh_array As Variant
Dim i As Long
sh_array = Array("①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "⑨", "⑩", "⑪", "⑫", "⑬", "⑭", "15")
For i = 0 To UBound(sh_array)
Set sws = Worksheets(sh_array(i) & "の元データ")
Set tws = Worksheets(sh_array(i))
Call sheet_copy(sws, tws)
Next
End Sub
Private Sub sheet_copy(sws As Worksheet, tws As Worksheet)
Dim wcol As Long
Dim dicT As Object
Dim maxcol1 As Long
Dim maxcol2 As Long
Dim col1 As Long
Dim col2 As Long
Dim key As String
Set dicT = CreateObject("Scripting.Dictionary")
maxcol1 = sws.Cells(1, Columns.Count).End(xlToLeft).Column
maxcol2 = tws.Cells(1, Columns.Count).End(xlToLeft).Column
tws.Rows("2:" & Rows.Count).ClearContents
For col2 = 1 To maxcol2
key = tws.Cells(1, col2).Value
If key <> "" Then
dicT(key) = col2
End If
Next
For col1 = 1 To maxcol1
key = sws.Cells(1, col1).Value
If key <> "" Then
If dicT.exists(key) = True Then
col2 = dicT(key)
sws.Columns(col1).Copy Destination:=tws.Columns(col2)
End If
End If
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) A2~I4179列にあるリストを支社名ごとにシートに分けたいです。 各シート名はA列にある支社名とし 3 2023/08/29 16:46
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
エクセル マクロ 別シートから実行すると動かない
Excel(エクセル)
-
Excel関数の先頭に「@」が入っているのは何故?
Excel(エクセル)
-
Excelでの判別方法
Excel(エクセル)
-
-
4
表示されている人数だけを数えたい!!
Excel(エクセル)
-
5
VBAコードについて
Visual Basic(VBA)
-
6
Excelにてある膨大なデータを管理しています。 そこで、特定の市町村にのみ色を付けたいです。 Ex
Excel(エクセル)
-
7
エクセルでチェックボックスを一列にたくさんつくり、各行にリンク先のセルを設定する場合、どのようにした
Excel(エクセル)
-
8
エラー表示になってしまいます。
Excel(エクセル)
-
9
エクセルで相対パスの書き方を教えてください
Excel(エクセル)
-
10
エクセルの表の参照値から円を取って数字で扱えるようにしたい
Excel(エクセル)
-
11
Excelでエラーが出るのですが・・・
Excel(エクセル)
-
12
VBAのコードを教えてください
Visual Basic(VBA)
-
13
エクセルで2桁から5桁の数字があります。その数字のダブリを解消する方法を教えてください。
Excel(エクセル)
-
14
余分なEXCELファイルに印刷され、経線が入る
Excel(エクセル)
-
15
Excel 大なり小なりを表すとき、 例えば「10以上」なら、>=10 と表せますが、 この10の部
Excel(エクセル)
-
16
VBA 同一シート内での転記の仕方
Excel(エクセル)
-
17
Win10でExcel VBA GetPhoneticを使い ふりがな候補を全て連続で取得する方法?
Excel(エクセル)
-
18
FormulaR1C1の 相対参照式のコピー
Excel(エクセル)
-
19
エクセルで比較 かつ 部分一致について
Excel(エクセル)
-
20
列を増やさずに、月だけの件数を求める場合
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字の色も参照 VLOOKUP
-
VBAで繰り返しコピーしながら下...
-
Excel VBA ピボットテーブルに...
-
【条件付き書式】countifsで複...
-
ExcelのVlookup関数の制限について
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
Excel の複数シートの列幅を同...
-
エクセルの列の限界は255列以上...
-
エクセルの保護で、列の表示や...
-
【VBA】シート名と見出しが一致...
-
Excel複数シートにあるデータを...
-
エクセルで、チェックボックス...
-
納品日から得意先ごとの請求日...
-
エクセル機能 オートフィルター
-
【VBA】複数のシートの指定した...
-
Excelに自動で行の増減をしたい...
-
エクセル関数に詳しい方、教え...
-
エクセルで横並びの複数データ...
-
エクセルのグラフのマクロでエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
エクセル関数に詳しい方、教え...
-
【条件付き書式】countifsで複...
-
Excel の複数シートの列幅を同...
-
エクセル マクロ 標準モジュー...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
VLOOKアップ関数の結果の...
-
SUMPRODUCTにて別シートのデー...
-
エクセルで、チェックボックス...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセルVBAで、ある文字を含ん...
-
エクセルのブック分割マクロを...
-
【VBA】複数のシートの指定した...
おすすめ情報