天使と悪魔選手権

添付画像のようなデータが並んだエクセルシートがあります。(ブックA)
ブックAsheet1のA列に数値が入っている行のB列~D列のデータを別のブックBから取得したいのです。
ブックBにsheet1~sheet20まであります。
ブックAsheet1のA列に数値が入っている行のB列~D列のデータを1セットとして、ブックBのsheet1のB1にコピーする。
次のグループをブックBのsheet2のB1にコピーする、
また次のグループをブックBのsheet3のB1にコピーする。
ブックBには書式設定してあるので、値のみコピーします。
ブックAのB列~D列の数値の配置はそのままでコピーします。
この作業をブックBからマクロで行う方法を教えて下さい。

宜しくお願いします。

「エクセルマクロで空欄と空欄の間のデータを」の質問画像

A 回答 (3件)

#2です。



>コピー先の罫線を崩さない様にするにはどうすればよろしいですか?

r.Offset(, 1).Resize(, 3).Copy ThisWorkbook.Worksheets(i).Range("B1")
     ↓
ThisWorkbook.Worksheets(i).Range("B1").Resize(r.Rows.Count, 3).Value = _
r.Offset(, 1).Resize(, 3).Value

一例です。
    • good
    • 0
この回答へのお礼

ありがとうございました。
全て思い通り解決しました。

お礼日時:2009/02/25 21:13

Sub try()


Dim ws As Worksheet
Dim r As Range
Dim i As Integer

Set ws = Workbooks("Book1.xls").Worksheets("Sheet1")
i = 1

With ws
For Each r In .Range(.Range("A1"), .Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlTextValues).Areas

r.Offset(, 1).Resize(, 3).Copy ThisWorkbook.Worksheets(i).Range("B1")
i = i + 1
Next
End With

Set ws = Nothing
End Sub

一例まで。

この回答への補足

ありがとうございます。
データは意図したとおりにコピーできましたが、
コピー先の罫線が消えてしまいました。
コピー先の罫線を崩さない様にするにはどうすればよろしいですか?

補足日時:2009/02/24 22:17
    • good
    • 0

はじめまして



まずは、fightman11さんのマクロ使用の経験を教えてく
ださい。どこまで丁寧に説明するかが異なってきます。

質問の文からだけでは不確かなところがありますので、
その部分は補足要求しながら、回答できる部分を回答し
ます。

>ブックBには書式設定してあるので、値のみコピーします。
「コピー」&「形式を選択して貼り付け-値」でもできますが、
マクロならば
[コピー先のセルのアドレス].value=[コピー元のセルのアドレス].value
でもできます。

>空欄と空欄の間の
空白行の間の行の数が一定していませんが、空白行があったら、
次の行のデータを「ブックBシート1」の一番下に追加(以下繰り返し…)
でよろしいでしょうか?

あと、揚げ足を取るようで申し訳ありませんが、
>ブックAsheet1のA列に数値が入っている行のB列~D列の
>データを別のブックBから取得したいのです。

>ブックAsheet1のA列に数値が入っている行のB列~D列の
>データを1セットとして、ブックBのsheet1のB1にコピーする。
ではコピー元とコピー先の関係が全く逆です。どちらが正しいですか?
    • good
    • 0
この回答へのお礼

ありがとうございました
解決しました

お礼日時:2009/02/25 21:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!