• ベストアンサー

Excel に「コピー用ボタン」追加。初心者です

Excel に「コピー用ボタン」をなんとか追加しました。 内容を作成しようとしましたが初心者で判りません。 以下のようにしたいのですが、 Sheet1の30行のA30~AZ30までのセルの内容を、Sheet2に上書きする。 Sheet2の10行~300行の中に、「Sheet1のB30と同じ内容」があります。 使用方法は、「コピー用ボタン」を押すと、Sheet1の「B30の内容と同じ」ものを Sheet2にコピーするものです。 Excel 2007 を使用しています。 以上、よろしくお願い致します。

  • moutk
  • お礼率100% (12/12)

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

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

補足ありがとう。 質問は、こう表現しては。 「Sheet1のB30のセルの値と、同じ値の行を、Sheet2のB列で捜し、みつかった行=第x行の、行全体Ax:AZxにSheet1のA30:AZ30の値を貼り付けたい。」 ーー (1)1行ずつ探す (2)Findメソッドで探す (3)フィルタで探す など思いつくが、(2)なら、本件事例がB列に1つしか見つからない構造なら(もともと、質問に注記すべきなのだ) 例データ Sheet1の第30行 1 ABC1 2 3 4・・略 Sheet2のA10:E13 1 AAC1 5 3 ZDC7 3 5 ABC1 5 8 VBC1 8 ----------- Sheet1にボタンを1つ貼り付け そのクリックイベントに コード Private Sub CommandButton1_Click() d = Worksheets("Sheet2").Range("B65536").End(xlUp).Row x = Worksheets("Sheet1").Range("B30") r = Worksheets("Sheet2").Range("A2:B" & d).Find(x).Row Worksheets("Sheet1").Range("A30:AZ30").Copy Worksheets("Sheet2").Range("A" & r) End Sub ーーー ボタンをクリックすると 結果 Sheet2 A1:E13 F列以右列省略 1 AAC1 5 3 ZDC7 3 1 ABC1 2 3 4 8 VBC1 8 Sheet2にABC1が沢山在る場合は、Googleででも「エクセル Findメソッド」で照会し、コード例があるから、それに習って、上記に数行書き加え、書き換えてください。

moutk
質問者

お礼

 返事が遅くなり申訳ありません。 「コピー用ボタン」を押すと、「オブジェクトエラー 91 」が発生し、今まで調べていました。 原因は、検索用Bの値の文字間にスペースが有った為でした。 質問の方法、マクロのすっきりした記述等、ご教示ありがとうございました。

その他の回答 (1)

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

質問に書いていることがさっぱり判らない。 >Sheet1の30行のA30~AZ30までのセルの内容を、Sheet2に上書きする。 第30行目をSheet2に「上書きする」とは?。エクセルでは、ファイル以外は「上書きする」という言葉は余り使わない。 Sheet2のどのかの行1行に貼り付けるのではないの? >Sheet2の10行~300行の中に、「Sheet1のB30と同じ内容」があります 質問のそれまでとどう関係するの? >Sheet1の「B30の内容と同じ」ものをSheet2にコピーするものです。 Sheet2のどのセルに貼り付けるのか。 ーー 何か言い表せていないことがあるようだ。 ーー エクセルを勉強して、言いたいことをエクセル向けの表現が出来るように勉強のこと。

moutk
質問者

お礼

回答ありがとうございます。 表現方法が不適切で申訳ありません。 Sheet1の30行にある「B30セルの内容」と、 Sheet2内の「Bの桁にある同じセルの内容」と合致した箇所に、 Sheet1の30行のセルの内容(A30~AZ30)を上記の箇所に そのまま貼り付けます。 例えば、         A桁  B桁  C桁  ,,,,,  AZ30桁 Sheet1の30行  1  ABC1  1  ,,,,, Sheet2の10行  1  AAC1  5  ,,,,,      11行  3  ZDC7  3  ,,,,,      12行  5  ABC1  5  ,,,,,      13行  8  VBC1  8  ,,,,, ※Sheet1の30行の内容をSheet2の12行に貼り付けます。

関連するQ&A

  • エクセル2003 特定セル範囲のみをコマンドボタンでコピー・貼り付けたい

    タイトルの通りなのですが、ただ今会員マスタ原本というシートを作成しています。 その中にコマンドボタン(表追加)を作り、ボタンを押すと、B39:U48のセルの作成データが上記のセルの下にどんどん追加される様にVBAを区みたいです。 (1) 表がずれないようにコピーをしたままの状態で貼り付けしたい。 (2) シートは同一シート内。B39:U48のセルの下に貼り付けたい。 (3) ボタンを押すたびにどんどん追加される。 (4) 貼り付けの状態は1行空けた状態で張り付いて欲しい。

  • エクセルにてボタン一つで複数のマクロを実行する

    すみません。エクセル初心者なのですが、仕事で作らなければいけなくなったのでご教授いただけたらと思います。 エクセルのシート内にボタンオブジェクトを作成し、そのボタンを押すだけで 1.指定したシートのみを別ブックとして書き出す(この場合はボタンのあるシート)。 その際に指定セル内の名前(例えばA1セルに記入された内容)でファイル名を付与して、指定場所に保存する。 2.上記シートには別ブックとして保存した場合はいらない部分(上記ボタンオブジェクトなど)があるので、その部分は削除して保存したいです。必要な内容は(印刷する場合であれば)1ページ目と2ページ目です。ボタンオブジェクトは3ページ目になるよう配置してあります。必要な情報かどうかはわかりませんが一応記入しておきます。 3.シート内のセル(ここではA1セル)に書かれた内容を1.で作成された物とは別ブックに書き出し、一覧表を作成する。こちらはデータベースの用な物として使用したいので、順次追加されて行くようにしたいです。例えば上記シートが作成された日付とその内容(ここではA1セル)で追加されてゆく感じで。 4. 3.で作成したブックに順次1.の指定シートを追加(コピー)する。 一応4.の順次シートのコピーを追加すると言うのは何となく出来たのですが、同じファイル名になってしまうとその時点で動作が止まってしまいました。参考書には「同じ名前なら自動でファイル名(1)となる」と「(1)」が付与されるとあったのですが、上手く作成してくれず止まってしまいました。 職場からデータを持ち出せないので、作成した内容を記載する事が出来なくてすみません。 よろしくお願いいたします。

  • エクセルのスピンボタンのコピーについて

    エクセルのスピンボタンのコピーについて いろいろ検索し、試しましたがうまくいきません。 A2セルに氏名(A3,A4と下に1000人程います) B1セルに日付(C1,D1と右に1ヶ月分) B2セルにスピンボタンを設定し、そのスピンボタンを縦1000行、横30列にコピーしたいのですが うまくいきません。。。 佐藤さんが12/1に3回⇒セルB2へ「3」 山田さんが12/2に5回⇒セルC3へ「5」 という感じで表示させたくて、B2へスピンボタンを設定しコピーしたのですがうまくいきません。 どうしたらできるでしょうか。 スピンボタンはフォームコントロールのものを使用しています。 Windows 7 Excel2007を使用しています。

  • 入力した指定のセル範囲をコマンドボタンによってコピー・貼り付けしたい

    急いでいます。 エクセル2003を使っているのですが、進まなくなってしまい困っています。 原本というシートのB39~U48にかけて簡単な表とコマンドボタン(”表追加”)を作成しました。 この表をコマンドボタンを押す度に、48行目以降に1行間隔置きでどんどんコピーして貼り付けが行われるように、VBAを組みたいのですがうまくいかず困っています。 作成した表がずれない様にうまく貼りつけしたいです。 どなたか知恵を貸してください。

  • エクセルで、数行のエリアを別の部分にコピーして挿入

    エクセルのコピーについての質問です。超基本的なことなのかもしれませんが初心者ゆえの愚問お許しください。 あるエクセル文書があり、セルの設定がけっこう細かく設定されて作り込まれています。 行・列の幅、結合状態、フォントの大きさや揃え位置、セルの罫線や色など書式もかなり複雑に作られています。 その中の特定の部分、例えば36行~74行の部分の固まりを、別の行の間にコピー挿入したいのですが、普通にコピー&ペーストするとその部分以下のエリアが上書きされてしまいます。 これを上書きしないで、間に挿入して追加するにはどうしたらいいのでしょうか? 先に該当する分の行を追加しておいてからペーストするしかないのですか? そんな箇所がたくさんあるので、そのやり方では効率が悪くて何とかならないかと思い質問しました。 どうぞよろしくお願いします。

  • エクセルで、そのままコピーするには?

    エクセルのコピーに関する質問です。 ブックAとブックBがあって、 ブックBのシート1の内容を、罫線やセルの高さや幅などをそのままブックAのシート2にコピーしたいのです。 ブックAブックBのシート1は表があり、罫線や行列の高さ・幅が複雑に設定してあります。つまりこの行列の高さや幅を崩さずにコピーしたいのです。 Excel2002を使用しています。が、普通にコピー&貼り付けをすると、列や行の幅、高さがブックAのままで、ブックBのが反映されません。 どうすればいいのでしょうか?教えて下さい。宜しくお願いします。

  • EXCELでの範囲コピー

    お世話になります。 エクセルのセルに以下のような文字が入っていたとします。 A B C D E 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 CTRLを押して、1行目と3行目を選択してコピーをして、 別なシートに貼り付けると、前までは1行目と3行目だけが 貼り付けられたのですが、最近同じ作業をすると1行目と3行目の間の文字も すべてコピーされて貼り付けられてしまいます。 どうやれば、1行目と3行目だけをコピーできるでしょうか? よろしくお願いします。

  • エクセルのフィルタリングされたのデータコピー

    Excel(2003、またはそれ以降)の質問です。 フィルタで抽出(可視化された)したデータだけをコピーし 別シートのフィルタで抽出したセルだけに張り付けることは可能でしょうか? (例) フィルタにより、シートAの1・2・5行目を抽出し、可視化された項目セルのみをコピー ↓ フィルタにより、シートBの3・6・9行目を抽出し、可視化された項目セルに張り付け。 ※普通にやろうとすると、コピーした内容が、シートBの不可視セルにまで張り付けられてしまいます。 ※コピー元、貼り付け先のセルのサイズや書式は同じです。 今はVLOOKUPで、シートA・Bの共通項目をキーにセルの内容を引っ張ってきてるんですが もう少し楽にコピペできればな、と思い質問しました。 分かりにくい質問ですみません。 何か良い方法があれば、教えてください。

  • エクセル 数式のコピー・貼付について

    エクセルの数式のコピー・貼付について教えてください。 シート1にデータが1000行くらい入っているとします。    A   B   1 100  5 2 200  3 3 350  9 :  :   : :  :   : シート2のセルA1、A2に =A1*B1 シート2のセルA3、A4に =A2*B2 シート2のセルA5、A6に =A3*B3 と、2行ずつ数式を入れたいのですが、 普通にコピー貼付をするとセル番地が自動的に 増えていってしまいます。 2行ずつ、同じセル番地の数式を入れる方法がありますでしょうか。 どうぞよろしくお願いいたします。

  • ExcelシートをコピーするとA4用紙からはみ出す

    お世話になります。 MS Excel 2007 を使用しています。 シートのタブ(シート名)の所を右クリックして 「移動またはコピー」を使用し あるエクセルファイル(以下 ファイルA)で作成したシートを 別のエクセルファイル(以下 ファイルB)にコピーしました。 ファイルAにあった時点で ページのレイアウト「印刷範囲の設定」で 任意のセル範囲をA4用紙に収まるよう印刷設定していました。 シートを丸ごとコピーしたのでファイルBでも 当然A4サイズに合う設定のはずだと思い 印刷したところ A4用紙からはみ出してしまいました。 任意のセル範囲は合っているのですが、 右側の2列と下側の2行がはみ出します。 ファイルA・Bともにブック全体のフォントサイズは10をエクセルのオプションで設定 セルの 行の高さは7 列幅は1 で作成しています。 自分なりに何か違いがあるのか確認した所 ファイルBでは列幅が1.47(だったと思います)に変わっていました。 これを1に戻したところ横方向ははみ出さなくなったので 縦方向も行の高さを見てみたのですが、7のままで どこがはみ出す原因になっているのかわからず困っています。 何が関係しているかお分かりになられる方いらっしゃいませんでしょうか? 後、列幅1のままコピーされない原因または、 原因がわからなくても構いませんのでコピーしても 修正せずにA4サイズに収まるような方法なんかはありませんでしょうか? よろしくお願いいたします。

専門家に質問してみよう