• ベストアンサー

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/17068)
回答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/17068)
回答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

  • エクセルの数式をどのように入れたら良いでしょうか?

    エクセルの数式をどのように入れたら良いでしょうか? いつもこちらでお世話になっています。 今回も教えて頂きたく質問させていただきます エクセルについてですが、 sheet1に入っているデータを sheet2に入力するようにしたいのですが sheet1の A列に1~50までのNo. →A1セルにNo.1、A50セルにNo.50 B列に(1)データ C列に(2)データ があり sheet2の D5のセルに「1」と入力すれば、sheet1!A列の数字とリンクしてsheet!B1の(1)データが入り D6のセルに「10」と入力すれば、Sheet1!A列の数字とリンクしてsheet!C10の(2)データが入る ように設定し、 さらにsheet2のD5,D6のセルに上書きで(繰り返し)数字を入力させ 数式が消えないようにしたいのですが どのようにすればよいでしょうか? 分かりずらい説明で申し訳ありませんが 大変困っているので、アドバイス頂けると助かります。

  • エクセルで…

    エクセルで… Sheet1のA1、A2、A3の「文字」や「数字」を Sheet2のA1、B1、C1にリンクさせる作業をしているのですが、 Sheet2のA1のセルに =Sheet1!A1 Sheet2のB1のセルに =Sheet1!A2 Sheet2のC1のセルに =Sheet1!A3 と貼り付けていけばいいのですが、膨大なセルに貼り付けなければなりません。縦方向(A1→A100)にならばA1のセルに貼り付けた後、ドラックで下に引っ張ればいいのですが、単純に横方向(A1→B1…IV1)へ同様にするとsheet1のA1→B1…IV1とリンクされてしまいます。何か方法があればご教示ください。

  • Excel の質問です。(リンクデータについて)

    Excel の質問です。(リンクデータについて) 例) A1のセルに「1」と入っているとします。 B1のセルで、A1のセルにリンクを張り、B1のセルに「1」が表示されるとします。(リンク「=A1」) その後、A1のセルのデータを消したり、別の数字を入力しても、B1には数字「1」が表示される方法はないのでしょうか? 同じシート内で作業せず、別のシートを使っても問題ありませんので、 よい方法がございましたら教えてください。

  • EXELの質問です。例えば、EXELのシートABCDの列にAの列は、番

    EXELの質問です。例えば、EXELのシートABCDの列にAの列は、番号が順不同で縦列に数字のデータが入っているとします。Bのシートには、タイトルデータが縦に入っているとします。Cの列には、Aの列と違ったデータが縦列に数字のデータが入っているとします。Dには、項目のデータが縦に入っているとします。以上のデータをCのデータを順に並び変えたとします。ここで初歩的なご質問ですが、Cだけでなく他のA B D のデータも一緒にCとの結びつけたデータを並び変える方法は、どのようにすればいいのでしょうか? 教えてください。

  • エクセルについての質問です。こんなことはできるのでしょうか?

    エクセルについての質問です。こんなことはできるのでしょうか? まず「データ」という名前のシートのA列に動詞,名詞など品詞が入っています。B列に高1,高2など学年が入っています。C列に数字(2や3など)が入っています。D列に英単語が入っています。E列に日本語訳が入っています。F列は作業列でF2のセルに=IF(AND(A2=問題作成!$A$2,B2=問題作成!$B$2,AND(C2>=問題作成!$C$2,C2<=問題作成!$D$2)),ROW(A1),"")が入っており,以下のセルに数式がコピーされています。 次に「問題作成」というシートのA5セルに=IF(COUNT(データ!$F$2:$F$2294)<ROW(A1),"",INDEX(データ!D$2:D$2294,SMALL(データ!$F$2:$F$2294,ROW(A1))))が入っており,以下のセルに数式がコピーされています。B5セルには=IF(COUNT(データ!$F$2:$F$2294)<ROW(B1),"",INDEX(データ!E$2:E$2294,SMALL(データ!$F$2:$F$2294,ROW(B1))))が入っており,以下のセルに数式がコピーされています。 「問題作成」のシートのA2セルは動詞や名詞など品詞が選択できるようになっています。B2セルは学年が選択できるようになっています。 この後,C2セルにWordでページを指定して印刷するときのように,2-3,6,8のように入力すると,「データ」のシートからそのページに該当する単語のみを「問題作成」のA5,B5以下に引っ張ってくるようなことはできますでしょうか? また,入っている数式に問題があれば,お教え願いたいのですが。 よろしくお願いいたします。

  • エクセルの質問です。

    シート1でセルA2の数字が1~5の場合シート2のB3に記述される シート1でセルA3の数字が6~9の場合シート3のB4に記述される このような場合どういった関数を使うのでしょうか? 何卒よろしくお願いいたします。

  • excelでの質問です。

    Sheet2のデータを単純にSheet1の縦表に移し替えるのではなく、Sheet2のB1セルはSheet1のA1セルへ、Sheet2のc1セルはSheet1のB1セルへと指定した場所へ移し替えたいのです。 その後、移し替えた先(Sheet1)でコピペなどで連続で下にずらしていきたいのです。

  • エクセルについて質問です。

    シート1のa1に「1」、b1に「2」、c1に「3」、d1に「4」、E1に「5」、f2に「6」を入力し、 その値をシート2のa1に「1」、a2に「2」、a3に「3」、a4に「4」、a5に「5」、a6に「6」を反映させ、 次は、シート1のa2に「7」、b2に「8」、c2に「9」、d2に「10」、E2に「11」、f2に「12」を入力し、 その値をシート2のb1に「7」、b2に「8」、b3に「9」、b4に「10」、b5に「11」を反映させたいのです。 さらにそれをそれを数十列作りたいのですが・・・。 (横に6個づつ並んでいる数字を、別シートに縦に6個づつ反映させていきたいのですが) 色々調べて、=OFFSETを使用して関数は出来たのですが、コピーしてもうまく出来ません。 ひとつひとつ手入力しています。膨大な時間がかかってしまうので、うまく出来る関数、コピー方法は ありませんでしょうか? 先輩方、ご教授下さい。

  • excel セルの複写など

    excelの使い方3点 初心者です。よろしくお願いいたします。 質問1 例:セルABC・・・に計算した数字が並んでいます。それを他のセルにコピーしたい。そのままコピーしたら数字が変わってしまします。列のセル数が少ないと=$A$1でコピーできることは解りますが縦列にかなりの数字が列挙している場合はどのような数式を書くと複写できますか? 質問2 シートに多くのデータが有ります。特定の列だけを選んでグラフを書きたい。特定列複数の選択の仕方について。例:A・C・Dを選択してグラフを書きたいと思っています。 質問3 セルに数字を入力すると日付に変わります。セルを数字や%、ユーザー設定に変えても日付になってしまいます。操作方法を教えてください。 パソコン初心者にわかる表現でお願いします。

  • Excel別シートの数字

    よろしく御願い致します Excel2007です 例えば、シート1のA2に数字が入っています(100) この数字をシート2のC7(90)にシート2のB2(10)を引いた数字を入れたいのですが 関数は如何すれば良いでしょうか、文章では解りずらいので 例 シート1のA2セル(100)-シート2のB2セル(10)=シート2のC7に入る数字(90)

このQ&Aのポイント
  • 紙詰まってないのに、プリンター確認下さいと、出ます。確認しても同じ
回答を見る

専門家に質問してみよう