• ベストアンサー

excelでさらに質問です。

こんにちわ。またお世話になります。今回は以下の操作について質問です。 縦列24セル、横100セルの、24掛け100のセルが数字で埋まっています。このデータを別のシートに移します。Sheet1がオリジナルデータで、Sheet2に移します。Sheet1 A1-A24 をSheet2 A1-A24へ, Sheet1 B1-B24 をSheet2 A25-A49へ, Sheet1 C1-C24をSheet2 A50-A74へ、と移したいのですが、効率的にする方法をどなたかご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

ツール - マクロ - マクロ - 「マクロ名」に「Macro1」と入力して「作成」ボタン Sub Macro1() End Sub と言う画面が出たら Sub Macro1() ←元からあるのはそのまま   Dim x As Integer   For x = 1 To 100     Sheets("Sheet1").Select     Range(Cells(1, x), Cells(24, x)).Select     Selection.Copy     Sheets("Sheet2").Select     Range(Cells(x * 24 - 23, 1), Cells(x * 24 - 23, 1)).Select     ActiveSheet.Paste   Next x End Sub ←元からあるのはそのまま と入力して、VBの画面を閉じる。 ツール - マクロ - マクロ - 「Macro1」を選択して「実行」ボタン はい、できあがり。

mathematical
質問者

お礼

すごいですね、一瞬でできました。こういうプログラムはどうやって習うんでしょうか?

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

#3です。 関数式での回答。 Sheet2のA2(あえて第2行目からにしただけ) =INDEX(Sheet1!$1:$100,MOD(ROW()-2,24)+1,INT((ROW()-2)/24)+1) もしSheet2の第1行目からにする場合はROW()-2をROW()-1にする。式中2箇所) 下方向に式を複写する。

mathematical
質問者

お礼

お返事頂きましてどうもありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

これはVBA向けの課題です。 たった7行でできます。For Nextの練習問題に適当です。 ただしセルの値しか移しません。 Sub test01() K = 2 For j = 1 To 100 For i = 1 To 24 Worksheets("Sheet2").Cells(K, "A") = Worksheets("Sheet1").Cells(i, j) K = K + 1 Next i Next j End Sub

  • s_yoshi_6
  • ベストアンサー率73% (1113/1519)
回答No.2

>Sheet1 A1-A24 をSheet2 A1-A24へ, Sheet1 B1-B24 をSheet2 A25-A49へ, Sheet1 C1-C24をSheet2 A50-A74へ コピー元とコピー先のセル数が合わないので、記入ミスがあるように思われますが、 1)24行おきに1行空白を入れたい (「A25-A49」→「A26-A49」、「A50-A74」→「A51-A74」) ということであれば、Sheet2のA1に =IF(MOD(ROW(A1),25)=0,"",INDIRECT(ADDRESS(MOD(ROW(A1)-1,25)+1,INT((ROW(A1)-1)/25+1),,,"Sheet1"))) と入力して以下コピー 2)空白を入れずに連続して表示させたい (「A25-A49」→「A25-A48」、「A50-A74」→「A49-A72」) ということであれば、同じくSheet2のA1に =INDIRECT(ADDRESS(MOD(ROW(A1)-1,24)+1,INT((ROW(A1)-1)/24+1),,,"Sheet1")) と入力して以下コピー としてみて下さい。 なお、「別のシートに移します」ということで、もしSheet1の元データを削除されるのであれば、Sheet2のA列をコピーして、同じ場所で右クリック→形式を選択して貼り付け→「値」を選択して「OK」で、数値データとして上書きされると良いと思います。 *********************************************** 別質問(No.1974128)お礼欄でのお尋ねについて、締め切り済みでしたので、失礼ながらこちらでお返事いたします。 >どのようにして勉強なされたのでしょうか? 以前から仕事で使っていて、インターネットが普及する前でしたので、分からない所は市販のガイドブックを参考にしつつ覚えました。 今ではこちらのような質問サイトがあって便利ですが、回答として寄せられた数式について、Excelのヘルプやネット上にある解説サイト(例えば下記URL)なども参考にしながら、その意味を理解するようにされるとより勉強になると思います。 時々はこのサイトで、他の方の質問について自分なりに考えてみて、寄せられた回答と見比べてみる、というのも一つの勉強方法だと思います。 http://homepage1.nifty.com/kenzo30/excel_kiso.htm http://arena.nikkeibp.co.jp/tec/excel/ http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/itiran.html

mathematical
質問者

お礼

丁寧なご返事どうもありがとうございました。頂いたサイト、参考にしたいと思います。またよろしくお願いします。

関連するQ&A