初めての店舗開業を成功させよう>>

エクセル2010でAからAQまで60行の表を作りました。 これの1行目のAから10行目のAQまでを次のsheetに自動的に出して11行目のAから10行目のAQまでをその次のsheetに自動的に出したいのですが、どう

このQ&Aに関連する最新のQ&A

A 回答 (3件)

文章だけ書いて、全部のコード作成を要求する、丸投げではないか。


VBAの最低限を勉強して無いのに、やりたいことだけは一人前とかの状態ではないか。
ーー
思考過程の1例を示してみる。
マクロの記録を3シート分ぐらい取って(コピー貼り付けが中心)、コードをじっくりながめて、似たもののコードの3回繰り返しになっているが、コードは1回分にして、実行時には指定回の繰り返し作業のコードにするには、何処を変えれば良いか、考えて見ればよい。
ーー
1-10  行
11-20
21-30
・・
は i 回目はどうなるか考えたか。中学受験の算数の問題だ。
Sub test01()
For i = 1 To 4
n = (i - 1) * 10 + 1
Range("a" & n & ":C" & n + 9).Select
MsgBox "a"
Next i
End Sub
をやって納得してみたら。
但し、例なので判りやすいように
C列までにしているーー>AQに拡げるのは判るだろう。
繰り返しを4回にしているーー>最終行をとらえて10で割り、+1した回数が、繰り返し必要回数だ。
MsgBox "a"はそこで止めて、シートの選択範囲を見せるためのもの。本番では関係ない。
最終行の行番号をとらえるコードは、知っているのかな。Googleで「エクセルVBA 最終行」で照会したら。
ーー
コピー貼り付けは XXX.Copy 新シート.Range(”A1”)
XXXはコピー元のセル範囲だ(上記で説明)
新シートは、となりのシートということで、シートIndexを+1すると指定できる。
それには、初心者は必要数シートを操作で作って(挿入しておいて)、コードが難しくなるのをさける、のがよかろう。
2つのシートを扱うので、それを指定するやり方の習得必要(略)。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2011/12/24 13:29

質問内容の処理をそのまま実行すると、


1.A1:AQ10のデータを次のシートにコピー
2.A11:AQ20(読み方によってはA11:AQ10ともとれますが、それはないかと。)をそのまた次のシートにコピー
※A21:AQ60のデータは特に処理なし
ということになってしまいますが、大丈夫ですか?

A1:AQ60にある表を、10行ずつ6シートに分割する処理ではないのですか?
違っていたらすみません。

「自動的に出したい」とのお話から、繰り返し行わなくてはならない処理なのだろうとも予想しました。

自分であれば、VBAマクロを作成して対応します。
もし、60行のデータを10行ずつ別々シートに分割する処理なのであれば、一度マクロを記録しておくだけでも済みます。


また、気になったのは、マクロや数式を使用するとしたら、表示形式等のセルの書式設定はコピーしなくて問題ないかという点です。

データの種類や分割したデータの使い方など、もう少し詳しい情報があった方が、作業にあった方法を考えやすいかと思います。現在の表を、そのまま使う方法もあるかも知れません。
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2011/12/24 13:30

ぶっちゃけ言えば,


元シートのA1:AQ10をコピーする
1枚目のA1に型式を選んで貼り付けの「リンク貼り付け」をクリックする
元シートのA11:AQ20をコピーする
2枚目のA1に型式を選んで貼り付けの「リンク貼り付け」をクリックする
 :
を合計6回手を動かして作成するのが,一番簡単確実で手間の少ない方法です。



6回手を動かすのもイヤでたまらないのでしたら,もっと手数が多い次のような段取りもあります。

元のデータを「元データ」というシートに記入する
Sheet1からSheet6まで6枚のシートを用意する
ブックを一度保存する
6枚のシートを作業グループにする
A1:AQ10を選択する
=OFFSET(INDIRECT("元データ!A"&((RIGHT(CELL("Filename",A1))-1)*10+1)),ROW()-1,COLUMN()-1)
と記入し,コントロールキーを押しながらEnterで入力する。
    • good
    • 0

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


人気Q&Aランキング