• 締切済み

別のシートにコピーする方法(マクロ)

シート1 と シート2 を用意します。 シート1には、 A1:B3 の範囲に文字が入力されています(関数の場合あり) A1:B3の範囲(列の場合あり)をコピーして シート2の現在選択されているセルから貼り付けをワンクリックで する方法(マクロ)はありませんか? 私は、マクロはわかりませんが、マクロでしか出来ないようであれば 覚えます。 教えてください。

みんなの回答

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

>マクロはわかりませんが、というレベルでありながら 変に、>ワンクリックでする方法、に拘るから、無理な質問になる。 普通は範囲指定して、コピーし、Sheet2で基点セルをクリックして張り付けを、しているし、それがエクセルの前提とする方法です。 邪魔くさいといっても、エクセルの本筋はこうです。VBAが経験ないならそれ以上のものはあきらめること。 >覚えます。 基礎概念(例えばイベント)の理解習得が必要で、回答者にコード書いてもらって、それを実行すればよいというものではない(丸投げ禁止)。 ーー 所望から1例を挙げておくが、 このコピー張り付けを行うキッカケというもの(イベントという)が必要で、これをどうするかは色々あるが、ボタンを1つ貼り付けるとして Private Sub CommandButton1_Click() Selection.Copy Worksheets("sheet2").Activate ActiveSheet.Paste End Sub Sheet1で範囲指定しボタンをクリックすると Sheet2のアクチブセルを起点にして貼り付けされる。 コピー元はSheet1に限るなど不便な点を抱えているが。

関連するQ&A

  • Excel データの一部を別シートにコピー

    Excelで、データ行のどこかをクリックし、ボタンを押したとき、その行を別々のシートに分類してコピーさせるマクロを作りたいと思っています。 このとき、コピー先のシートをA列のデータで区別したいのです。 1.クリックした行のA列のセルを判定し、そのセルのデータを読み取る方法 2.読み取ったデータ(文字)を、コピー先シート名に指定する方法 このマクロの記述方法を教えてください。よろしくお願いします。 コピー範囲を指定し、貼り付け先のシートをアクティブにできれば、あとは記録マクロをつないで作るつもりです。

  • 一つのシートをコピーして全てのシートに貼り付けたい

    エクセルのシート1のセルA1に「あ」と入っていて、 シート1のセルA1をコピーし、 他のシート(シート2、シート3、シート4・・・)のA1に貼り付けたいのですが、 シート1のA1をコピー ↓ 全てのシートを選択 をすると、コピーのラインが消えてしまいます。 全てのシートを選択した状態で、A1を選択して「あ」を入れればよいと思われますが 実際のシートはA1には書式や関数があったりするので、 一つのセルをコピーして、すべてのシートの同じ部分に貼り付けがしたいです。 よろしくお願いします。

  • シートコピーと値の転記 シート名変更マクロを

    エクセル2010で マクロのご教授をお願いいたします。 BOOK1の Sheet1 A1~A10に 数値1000が入力されているとして Sheet1のシートのコピーを作成 Sheet1にもどり A1~A3の値だけコピーして 作業列C1に 値を貼り付け A1~A10 をクリアーにしたのちに  ※↓が うまくいきません。 A1の値→ A8 A2の値→ A9 A3の値→ A10 に入力 させるマクロは どうなるでしょうか? マクロの記録で いろいろと やってみましたが どうも ※の部分が うまくいきません どう考えてもエクセルに対しての 理解不足だと思われますが、ご教授のほどお願いします。 おこなった自動マクロの記録は↓です。 マクロの記録開始する 名前 シートコピー Sheet1を右クリックして移動またコピー コピーを作成にチェックをいれ OK コピーシートが作成される。 Sheet1をクリックしなおして A1からA3をコピー  作業列として C1に 形式を選択して貼り付け 値 A1~A10を delete でクリア C1~C3を選択 コピー A8に 形式を選択して貼り付け 値 マクロの記録終了。 あと Sheet1をコピーするさいに シート名を前日の日付に自動的に変更できればと いいなと 考えておりますが できるのでしょうか? 例えば、本日でいえば シート名→ 0112 のような シート名を変更できればすてきだと おもいます。 どうぞ よろしくお願いします。

  • ■EXCELで別のファイルのセルをコピーするとき(教えて)

    例えばAと言うフアイルのセル(関数が入っている)をBと言うファイルにコピーするときに普通はBのファイルにも関数がコピーされるのですがいつの間にか、何故か値のみがコピーされてしまいます。そこで、関数をコピーしようと思い「形式を選択して貼り付け」の項目をクリックしますと普通は「形式を選択して貼り付け」の小さな画面が開いて貼り付けと云うタイトルがあり、その下に○すべて(A)、○数式(F)、○値(V)・・・・と表示されているのですが、何故かリンク元、○貼り付け、○リンク貼り付けと言う見慣れない画面が出てきました。其の中には○数式の項目がありませんしこんな画面で関数のコピーなど出来ません。一体何故こんな画面が出てくるのでしょうか?又セルのコピーを別のファイルのセルにコピーする方法を教えてください。急ぎでやりたいことがあり困っています。

  • シート内の一部のセルを別シートにコピー

    Excelのマクロ(VBA)の記載方法について お分かりになる箇所だけでも結構ですので、 どなたかご教授を願い致します。 シートX   A    B   C  1 data1 data2 data3 2 x   data7 data8 3 data4 data5 data6 4 data7 data8 data9 シート Y   A   B   C    D 1 length 3  (任意) (任意) 2 xxxx (任意) (任意) (任意) 3 zzz  (任意) (任意) (任意) 4 (空白)(任意) (任意) (任意) 上記のような2つのシート(同一Excelファイル内)があって、 シートXの一部のセルを次の条件(1~4)でシートYにコピーしたい場合 1.コピー元の列の数は、シートYの "length"と書かれたセルの右となりの数字   とする(上記では3なので、A,B,C列をコピー対象) 2.コピー元の行の数は、シートXの1~4行目までとするが、   シートXのA列のセルが"x"だったら、その行は全てコピーしない。 3.コピー先(Y)の列は、コピー元(X)の列と一つずれてコピー(BならCに、CならDに) 4.コピー先(Y)の行は、シートYのA列で1行からで始めて空白セルになった行からコピー開始。 (上記では、A列で空白セルのある4行目からコピー) 上記条件で、下記のシートYを作成したいのですが、 この場合どようなマクロ(VBA)で実現できますでしょうか。 コピー結果(シートY)  A     B   C   D 1 length  3  (任意) (任意) 2 xxxx  (任意) (任意) (任意) 3 zzz   (任意) (任意) (任意) 4 (空白) data1 data2 data3 5 (任意) data4 data5 data6 6 (任意) data7 data8 data9

  • シートにマクロ記述があるとシートに貼付ができない

    Windows7 Excel2007を使ってマクロ作成中の初心者です。 他の方がwinXP使用してるので、受け渡しのため、互換性のある Excel97-2007で保存・マクロ作成しています。 1)エクセルの新規ブックで、sheet1のセルA1をコピーし、sheet2のA1に貼り付けます。 当然のことながら、正常に貼り付けできます。 貼り付けが完了してもなお、「コピー先を選択しEnterキーを押すか、 貼り付けを選択します。」が表示され続けています。 2)ところがsheet1、sheet2にコードを書くと、(たとえば下のコード) sheet1のセルA1を右クリックしコピーを選択すると「コピー先を選択しEnterキーを押すか、 貼り付けを選択します。」が表示されます。そしてsheet2に「貼り付け」をしようsheet2の シート見出しを選んだ瞬間、「コピー先を選択しEnterキーを押すか、 貼り付けを選択します。」の表示が消えてしまい、「貼り付け」ができません。 3)他のシートに貼り付けができないので、シートにマクロがかけないので、困っています。どうしたらいいかお助けください。 Private Sub Worksheet_Activate() ActiveWindow.DisplayHorizontalScrollBar = False '水平 End Sub

  • VBA 今日の行にあるセル コピー 別シートへ

    (1)sheet1にボタン button1 があり、そのボタンを押すと、マクロが起動する。 (2)データは sheet2 貼り付け先は sheet3 sheet2 F列に日付が入っています。   F列は、日付(過去~本日まで ※未来の日付はありません)か、空白の場合があります。 F列の日付が本日のとき、 sheet2 A列のセルの値を sheet3 B列へ。  A列には連番。 sheet2 D列のセルの値を sheet3 C列へ。 sheet2 G列のセルの値を sheet3 D列へ。 sheet2 F列のセルの値を sheet3 E列へ。 それぞれ、Sheet3の各行の一番下に貼り付ける形をとりたいのです。 こちらでマクロはどうしたらよいのでしょうか。

  • 複数のシートのデータをひとつのシートに纏める

    EXCELにおいて、複数のシートのA列のデータをひとつのシートにまとめるにはどのようなマクロを組めばよいのでしょうか。 (内容) ”Cycle1”SheetのA列をコピー⇒”まとめ”SheetのA列に貼り付け ⇒”Cycle2”SheetのA列をコピー⇒”まとめ”SheetのB列に貼り付け ⇒”Cycle3”SheetのA列をコピー⇒”まとめ”SheetのC列に貼り付け ⇒”Cycle4”SheetのA列をコピー⇒”まとめ”SheetのD列に貼り付け ・・・。 現在は、上記の内容を手動でやっており、シート数が多い場合大変です。 よろしくお願いします。

  • 複数のシートを1つのシートにコピーしたい

    VBA初心者です。よろしくお願いします。 【状況】 1つのワークブックの中に『まとめ』という名前のシート、それ以外にコピーしたいシートが複数あります。 コピーしたくないシートもあります。 まとめを一旦クリアし、コピーしたいシートだけをコピーして貼り付けたいです。 まとめシートもコピーしたいシートも、データの入っているセルは"B5"から始まり、M列までの任意の行までデータが入っています。(B5:M?) 【やりたいこと】 コピーしたいシートのみ、データの入っている範囲をコピーして、まとめシートに貼り付けたい。 最終行を取得するVBAはいろいろなサイトを参考に書くことができたのですが、そこから"B5"までの範囲を指定してコピーをするという方法がいまいち分かりません。 参考にしたサイトはA1~特定の範囲のみ選択というものばかりで・・・。 稚拙ながら途中まで書いたコードです。 (1)Sub B5から最終セルの選択とコピー() (2)Range("B65536").End(xlUp).Offset(0, 11).Select (3)Range("B5", ※).Copy (4)End Sub ※に(2)で取得した最終セルを代入したいのですが方法が分からず・・・。 ここでまず躓いてしまっています。 どうかお知恵を貸して下さい。よろしくお願いします。

  • マクロ セルの色を含むシート間のコピー貼り付け

    このようなことが、できるでしようか。お教え下さいませんか。 シート1のB2~P列の最終行を取得してコピー、シート2のA2のO列の間に貼り付けたい。 但し、シート1は関数処理していて、シート2には値だけを貼り付けたい時のマクロはどのようなコードにすればよいでしょうか。 また、罫線はそののままコピーして貼り付けたい。 更に、シート1のB2からB列の最終行までは、黄色のセルになっているので、それもシート2のA2~A列の最終行まで貼り付けることってできますか。 お教え頂けますでしょうか。よろしくお願いします。

専門家に質問してみよう