• 締切済み

【エクセル】マクロでのブックとシートの移動について

元ブックのsheet1の一覧の値を別のブックのシートに貼り付けるマクロの書き方を教えてください 下のような動きです book1.sheet1.A1 → book2.Sheet1.A1          A2           2.A1          A3            3.A1 ・ ・ ・           A50          50.A1 ※セルは任意の場所です よろしくお願いします

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

sub macro1() dim i for i = 1 to 50 workbooks("Book2.xls").worksheets("Sheet" & i).range("A1").value = worksheets("Book1.xls").worksheets("Sheet1").cells(i, "A").value next i end sub >book1.sheet1.A1 → book2.Sheet1.A1 >        A2           2.A1 >セルは任意の場所です さっぱり意味が分かりませんでしたが、手抜きのご相談で回答者に無駄をさせていますね。もうちょっと丁寧に、いったい何を言いたいのか説明してみたらどうでしょう。

  • jbeam
  • ベストアンサー率41% (85/204)
回答No.2

今後の事を考えるなら、「マクロの自動記録と実行」を覚えられた方が良いのでは? 手順は (1)マクロ記録ボタンをクリック (2)実行したい動作を行う ・・・今回はコピー&ペーストの繰り返しですよね …それを全てう (3)記録終了ボタンクリック これで後は マクロの実行で(2)で行った動作が再現できます。 マクロのコード内容は実行マクロの編集で見ることが出来ます 操作方法の詳細はExcel(エクセル)VBA入門の VBA入門欄に自動記録の方法等書いてありますのでそのまま行えばいいでしょう。 http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/ 等参考に出来る内容がたくさんありますので、 EXCEL・マクロで検索してみてください 急がば回れですが、小一時間遊べばマクロは自在に操れるようなると思います。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

値だけでよですよね。 Workbooks("Book2").Sheets("Sheet1").Range("A1:A50").Value = Workbooks("Book1").Sheets("Sheet1").Range("A1:A50").Value の1行です。

blanc0312
質問者

補足

不勉強でごめんなさい sub end sub から教えてください book1.sheet1.A1 → book2.Sheet1.A1 book1.sheet1.A2 → book2.sheet2.A1 ~ book1.sheet1.A50 → book2.sheet50.A1 を一括で処理したいのです よろしくお願いします

関連するQ&A

  • エクセル マクロで別のブックに貼り付けたい!

    作成したシートを別のブック(既存)にマクロを使って貼り付けたい のですが、いろいろ調べた結果以下のようにはすることができました。 ---------------------------------------------------------------- Sub SaveSheet() Dim sFileName As String 'ファイル名の設定 sFileName = "C:\a\test.xls" 'シートをコピーして新規ブックを作成 Sheets(Array("Sheet1", "Sheet2")).Copy '作成したブックの保存 ActiveWorkbook.SaveAs sFileName End Sub ---------------------------------------------------------------- これはとあるサイトで見つけたもので、私自身が作成したものでは ありません。 このマクロの問題は、 ○あらたにブック(シート)が作成されること (マクロ実行時は上書きになるので、変更できなくても使えないわけ ではない) ○元データはシート丸ごとであり、セル範囲を選択できない。 ○貼り付けるシートにおいても、任意の場所を起点とできない。 ということです。 整理しますと、『作成したシートの任意のセル範囲を、別に存在する ブックに、任意のセルを起点として貼り付けたい』 ということです。 どうかよろしくお願いします。m(_ _)m

  • excelでマクロシートをコピーしたとき

    excelでbook1のsheet1のセルA1に「1」を入力→プリントアウト→A1に「11」を入力→プリントアウト・・・以下「31」まで繰り返し。 というマクロが組んであります。 (ボタンにマクロが登録されています。) このシートをbook2にコピーをしたときに マクロを実行する(ボタンを押す)とbook1が開いてしまいます。 これをbook1を開かずにbook2でマクロを実行するには どのようにしたらよいでしょうか。 book2でマクロを作成し直して さらにボタンにマクロを登録していますが、 bookの数が多いのでけっこうな手間になります。 簡単な方法があれば教えて下さい。

  • エクセルマクロ コピー元と貼り付け先を指定してコピー&ペーストを実行するマクロ

    単刀直入にやりたいことを述べます。 Cドライブと仮定します。3つのBOOKがあります。 それぞれ ----- BOOK1.xls「○○Sheet」・・・(実行するファイル)   A 1 BOOK2.xls「△△Sheet」・・・(コピーするファイル名の指定です) 2 A2:E2・・・(コピーするセル範囲の指定) 3 BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル名の指定です) 4 A5・・・(貼り付け先のセルの指定) ----- BOOK2.xls「△△Sheet」・・・(コピー元ファイル)   ABCDE 1 あいうえお 2 かきくけこ 3 ・・・・・ ----- BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル)   ABCDE 1 ・・・・・ 2 かきくけこ・・・(貼り付け) 3 ・・・・・ ----- >やりたいこと BOOK1.xls「○○Sheet」のA1のセルの値とA2セルの値を参照し、 その該当BOOKのセル範囲(BOOK2.xls「△△Sheet」のA2:E2)をコピーして、 BOOK1.xls「○○Sheet」のA3のセルの値と、A4セルの値を参照し、 その該当BOOKのセル範囲(BOOK3.xls「□□Sheet」のA5)へペーストする。 別のブックの指定したセルの値を別のブックの指定したセルへ貼り付けるだけなんですが、 以前関数を使って似たような事をしようとしたのですが、うまくいかなかったので、マクロならできるのでしょうか。 よろしくお願いします。(ちなみにエクセル2000又は2003です)

  • Excel - セルの値を外部シート名として認識させる

    お世話になります。 例えばデスクトップに置いてあるブックのセルを、別のブックのセルに引っ張るとき。 ='C:\Documents and Settings\UserName\デスクトップ\[Book1.xls]Sheet1'!A1 という風になりますが。 例えばBook2のセルA1に【Book3】、A2に【Sheet5】とあってこれらが可変であるとき、セルA3に ='C:\Documents and Settings\UserName\デスクトップ\[Book3.xls]Sheet5'!A1 の値を引っ張ろうと思ったら、それは可能でしょうか。 【Book3】、【Sheet5】はそれぞれユーザが任意に入力すると、テーブルの値が変わる、という風にしたいわけですが。

  • 2つのEXCELのブック間でのマクロの呼び出し方

    お世話になります、 あるExcelのブック「Book1」でセルが選択された イベントで別のブック「Book2」に登録されている マクロ「Macro(str,number)」を呼び出したいのですが どのようにすればいいでしょうか? よろしくお願いします。 具体的なソース等がありましたらよろしくお願いします。

  • Book間でのコピー

    エクセルで以下の処理を実行するマクロを知りたいのですが。 Book1とBook2が開いています。 Book2のSheet1のA1~A10を、Book2のSheet1のA1~A10にコピーします。 この処理を任意の2つのBook間で実行するためにはどんなマクロになるでしょうか。(Book3とBook5で行ったり、Book25とBook46で行ったり等) アクティブになってないBookからアクティブになっているBookにコピーするようにしたいのですが。 宜しくお願いします。

  • Excelでブックをまたいでシートをコピーした時に、元のブックを参照させない方法

    Excelでブックをまたいでシートをコピーした時に、 元のブックを参照しないようにしたいです。 BOOK_AというブックのシートにBOOK_Aのブック内のセルを参照する式が ある場合、そのシートをBOOK_Bというブックにコピーすると、 式の中の参照先のセルを示す部分に自動的に[BOOK_A]が追加されて、 BOOK_Aを参照してしまいます。 ここではBOOK_B内のシートを参照してほしいので、そのままの式で コピーしたいのですが、可能でしょうか? よろしくお願いいたします。

  • 任意のブックを開き、任意のシートの範囲をコピーして貼り付けるマクロ

    タイトル通りなのですが、 アクティブなブックから 任意のブックを開き、任意のシートを選び任意の範囲をコピーして、 元のアクティブなブックに貼り付けるマクロがほしいです。 このとき、この任意のブックのシートにはフィルタがかかっているのですが、 フィルタ解除しなくても不可視セルも含めてすべてのデータをコピーできる方法はありますか? よろしくお願いいたします。

  • 閉じているBookに処理をさせるマクロ

    Book1とBook2があり、Book1は開いていてBook2は閉じています。 Book1でマクロを実行し、Book2を開いてSheet1のA1に"A"を入力した後Book2を閉じる、という処理をさせることは可能でしょうか? また、上記の処理をBook2を閉じたまま実行することは可能でしょうか? 可能でしたらそれぞれのマクロを教えてください。

  • エクセル-別のbookで同様のマクロ実行

    エクセル-別のbookで同様のマクロ実行 最初あるBook1に入っているmacro1はそのbook1のsheet1を処理するように作成しました。 次にBook1を開いたまま、Book2を開きそのsheet1に対してmacro1と同等の機能を実行したい場合は通常どうするのでしょうか。 (1) Book2にBook1のマクロをコピー (2) book2のマクロを開き、表示されるBOOK1 macro1を実行する。 (2) 場合でもうまくいくのでしょうか。Sheet1に対してやりたいことの論理は同じとします。試してみたらといわれそうですが、まず識者の説明をお聞きしたいのです。

専門家に質問してみよう