[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『データをコピーして別のシートに順に貼り付け』(かわ)
複数シートのデータをコピーして、あるひとつのシートに順に貼り付ける方法。
たとえば、
シート1
A B
1 あああ いいい
2 ううう えええ
3 おおお かかか
シート2
A B
1 ききき けけけ
2 こここ さささ
シート1、2のデータをそれぞれコピーして
シート3
A B
1 あああ いいい
2 ううう えええ
3 おおお かかか
4
5 ききき けけけ
6 こここ さささ
というようにシート3に貼り付ける方法を知りたいのですが、
分かる方がいましたら教えていただけないでしょうか?
[クリップボードの活用] 表示メニューのツールバー・クリップボードを表示させ (メニューツールバーの余白部分で右クリックメニューでクリップボード選択)EXCEL2000 Sheet1のコピー範囲を選択し、コピーします。Sheet2のコピー範囲を選択し、コピーします。 クリップボードに2個貼り付けられています。 Sheet3で貼り付けたいセルにクリップボードのアイコンを順に指定すればよいことになります。 EXCEL2000では12個、EXCEL2002では24個コピー記録できます。 (シニア)
上記に書いた例は、説明用です。
実際は、シートは100個以上ありますので、人間の手によるコピー&ペーストだと限界があると考えております。
エクセルのマクロまたはVBAを利用した方法で上記の例を満たすことができるようにしたいのです。
以上、よろしくお願いします。
こんばんわ。 コピー先の範囲はこれから作るんですさかい勝手に指定でけますけど、さあ、コピー元 の範囲をどうやって拾い出すかが問題でんなぁ。 その元のスタート列、行は各シート共通なのか、違うとっても確たる規則性はあるのか マクロで組むにはいろんな問題が絡んできますわ。 まぁ仮にでッけど作ってみたんで試してみておくんなはれ。
新しいブックにシート4を追加してください。 各シートのデータはA1から書き込んで下さい。 コピーする(元)最終行の1行下の欄は空セルで区切って下さい。 このマクロは列2で組んでありますけど、コードをいじれば何列でもOKです。 シートごとに列が変わる場合は、空セルで区切ればいけますけど、やっぱりコードを いじらなあきまへん。
なにわともあれ、いっぺん廻してみてからの話ですわ、えぇ。
ほな... (おいぼれ弥太郎)
'----------------
Sub コピー()
Dim i As Integer, t As Integer, row_b As Integer
Dim ws As Object
Application.ScreenUpdating = False
For i = 1 To 3
Set ws = Worksheets("sheet" & i)
Worksheets("sheet" & i).Select
Range(Cells(1, 1), Cells(Row_a(ws), 2)).Copy
If i = 1 Then
t = 0
Else
t = 2
End If
Worksheets("sheet4").Select
row_b = Cells(Rows.Count, 1).End(xlUp).Row
Cells(row_b + t, 1).PasteSpecial Paste:=xlValue
Application.CutCopyMode = xlCut
Next i
Application.ScreenUpdating = True
End Sub
'-----------------
Function Row_a(ByVal ws As Object) As Long
Dim i As Long
Do
i = i + 1
Loop While ws.Cells(i, 1) <> ""
Row_a = i - 1
End Function
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.