• 締切済み

複数シートへのリンク貼り付けについて

エクセルマクロ勉強中です。 シート1のセルA2の値をシート2のセルA1にリンク貼り付け。シート2のセルA2の値を シート3のセルA1にリンク貼り付け。このスタイルでシートを増やして行った時、それぞれのシート間でコピー、リンク貼り付けをしなくても自動的にコピー、リンク貼り付けが出来るマクロがあれば教えて下さい。 又、各シート名を変更してもリンク貼り付けの設定が変わらないように出来るでしょうか?

  • whymm
  • お礼率33% (3/9)

みんなの回答

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

#2です。 その後考えて、下記のようなのが、お望みのことかな(自然では)とやってみた。2013です。 VBAのための操作は 開発タブ 挿入 ACTIVEXコントロール コマンドボタンをクリックして選択 シート上でクリック ボタンの大きさと位置を適当にする コマンドボタンのプロパティで Captionを「シート追加」と入力する。 ボタンのクリックイベントに Private Sub CommandButton1_Click() sn = ActiveSheet.Name MsgBox "現シート=" & sn nsn = InputBox("追加新シート名=") Worksheets(sn).Copy After:=Worksheets(sn) ActiveSheet.Name = nsn ’追加コード(略) End Sub このボタンをクリックすると、そっくり同じシートがコピーされる。コマンドボタンもコピーされる。 ユーザーが新シートが必要と判断したとき実行される(ボタンを押す)ので、より適当かと考えた次第。 ーー 上記のコードの「追加コード(略)」のところへ (1)新シートでは消すべきセル範囲のデータ消去のためのVBAコードを入れる。 (2)元のシートから新シートへの、引き継ぐべきデータを新シートのセルに代入するVBAコードを書く。 新シートでは、データ表の見出し、書式や数式や関数式などは引き継ぎたいことが多かろうから、上記のようにする。 >シート2のセルA2の値を シート3のセルA1にリンク貼り付け の必要性を小生は理解できず、未対応。 ーー これでも自力で作るのは中級クラスの対応かと思う。

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

>シート2のセルA1にリンク貼り付け なんて、>リンク貼り付けと、おおげさに言わなくても、シート2のA1に=Sheet1!A2とすればよい。 またはシート2のA1に、シート1のセルA2の値を代入すればよいのではないですか。 初心者なら「リンク貼り付け」などいわず、値の代入でよいのではないか。 ーー >シートを増やして行った時、==>新しいシートを挿入したとき? 初心者がやるにはむつかしすぎるが、ThisworkbookのWorkbookのNewsheetイベントがあるので Private Sub Workbook_NewSheet(ByVal Sh As Object) MsgBox "シートを増やします" sn = InputBox("現在・前シートのシート名は") x = Sheets(sn).Range("A2") Sh.Range("A1") = x End Sub のようなこともできる。しかし操作をするシート名(元のシート名)はVBAで引き継げないと思うので、 (どのシートを引き継ぐか決定できないので(シートを増やす必要になった時、そのサインを使用者にさせて、新シートに質問のようなデータ設定をVBAでするならむつかしい点は起こらない) 「sn = InputBox("現在・前シートのシート名は")」が必要と思う。 (上記Shは自動で名づけられる新シート名。) これも、質問者のニーズに対し、不十分かもしれない。 何かの拍子に、エクセルのこのブックの使用者がシートを増やすと質問者の思惑と外れるほうに行ってしまうかも。 初心者の間は、自動的に引き継ぐにこだわらないで、関数やVBAによる代入で、手数でもしのぐべきと思う。 また基本は人間・使用者にやらすようにしたほうがよいと思う。

noname#206655
noname#206655
回答No.1

マウス操作をマクロとする事もできますが、って今は出来ないのかな。 コードだとすれば 1.最大シート数になった(符号なし整数で、0を判断) 2.YES おわり 3.sheet1 を複製 4.最後にコピー コピーできたらおわり 5.1へ ってのを考えて見ましたが、んんん、ダメか。

関連するQ&A

  • 離れたセルのリンク貼り付けを行うためのマクロについて

    ブック(1)のシート(1)にある複数の離れたセル(B2,D2,C3,F3,B4:F4)をコピーし、別ブックのシート(1)のセル(B2,D2,C3,F3,B4:F4)へリンク貼り付けを実行するためのマクロを教えてください。 なお、ブック(1)とブック(2)はイントラの共有フォルダ上の同一階層に置いてあります。 このブック(1)と同一フォーマットのブックが複数存在し、上記同様にブック(2)の離れたセルをコピーして別ブックのシート(2)のセルへリンク貼り付け。 続いて、ブック(3)の同じセルをコピーし別ブックのシート(3)へリンク貼り付けと言うように、同じセルをコピーし別シートの同じセルへリンク貼り付けの作業を繰り返し行います。 まったく同じ位置のセルをコピー&リンク貼り付けを繰り返し行いたいので、マクロを使って自動実行させたいと思っています。 離れたセルのリンク貼り付けは出来ないのかもしれないですが、アドバイスを頂けると助かります。 宜しくお願い致します。

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

    エクセル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 のような シート名を変更できればすてきだと おもいます。 どうぞ よろしくお願いします。

  • エクセルで複数シートの同じ位置にあるセルを一枚のシートにリンク貼り付けしたい。

    初めて質問いたします。 エクセルのブックの中に100枚のシートがあります。 全てのシートの同じ位置のセルのデータ(数字と文字)を 一枚のシートにリンク貼り付けでまとめたいのですが マクロで できるのでしょうか。 どのように書けばいいのか分からず困っています。 よろしくお願いいたします。

  • EXCEL セル値のシートにリンクを付ける

    同じブック内の別シートのセルにハイパーリンクを設置したいのですが、 シートの選択を、セルの値に設定する事は出来ないでしょうか。 シート1: A列:シート名       B列:各シートへのハイパーリンクを付けたいセル B1セルに、A1セルのシート名シートのA1セルへのリンク B2セルに、A2セルのシート名シートのA1セルへのリンク を付けたいのです。 シート名はたびたび変更をするため、 A列のシート名を変更すると、各シート名も変更になるように設定しています。 よろしくお願いいたします。

  • EXCEL2003 リンク貼り付けについて

    リンク貼り付けしたいデータがシート1のA5 C5 E5にあります。これをCtrlを押しながらコピーして シート2へリンク貼り付けするとA5 B5 C5に連続でコピーされます。もとのデータのままの飛び飛びのセルのようにはリンク貼り付けでないものでしょうか。よい方法がありましたら教えて下さい。

  • リンク貼り付けをマクロで簡素化したい

    1)個人票ブック(太郎シート 花子シート 次郎シー・・・・・)の各シートのA1からA5まで、値や公式がはいっています。 2)このシートのA1からA5までの値等を、別の総括表ブック(一枚のシートしかない)にリンク貼り付けをします。 3)まず、太郎シートのA1~A5までは、総括表ブックのB列にリンク貼り付けするマクロボタンを、太郎シートに設置します。 4)さらに、花子シートのA1~A5までは、総括表ブックのC列にリンク貼り付けするマクロボタンを、花子シートに設置します。 5)そして、次郎シートのA1~A5までは、総括表ブックのD列にリンク貼り付けするマクロボタンを、次郎シートに設置します。 6)こうしてマクロボタンを順次貼り付けていきます。 7)各シートの貼り付け場所は列に貼り付けていきますが、上から順番ではなく、任意に飛んでいますが、  各シートの行は、みな一律で同じ行です。 列は違っても皆おなじ行にリンク貼り付けしたいです。 このような操作をマクロ記録でつくりましたが、膨大な作業が必要です。これをなんとかVBAで簡素化したいのですが・・よろしくお願いします。

  • リンク貼り付け

    別のシートにある列をリンク貼り付けすると、元のセルに値がないと リンク貼り付けしたセルには”0”と表示されてしまいます。 ”0”が表示されないようにする方法はありますか。

  • Excelのシートへのリンク

    Excelのブックにあるシート名をA列のセルに入れてあります。これをシートにリンクさせたいのですが、マクロで簡単にできませんか?現状は、1つ1つ、ハイパーリンクしています。

  • 複数のシートの同じセル範囲を一つのシートにまとめたいです。

    Excelで複数シート上の同じセルにある表を一つにまとめたいです。 表はBQ6:CS6で、A:BPにある表の集計が入ってます。 多数のシート上のBQ6:SC6の表を一つのシートに値で貼り付けていきたいのですが、 シート名が固定でないこと、シート数が20~30と複数あり、数も決まってないこと、 そんなブックがいくつもあり非常に困っております。 VBAの貼り付け、マクロの自動登録くらいのスキルしかありません。 どなたかお知恵を貸して下さい。お願い致します。

  • エクセルの「リンク貼り付け

    今晩は、エクセル(Office 2002)についての質問です、宜しくお願いします。 エクセルでシート間、ワークブック間で、データーを貼り付ける場合に、貼付先のセルに貼付元のセルのセル番地を代入 (「=セル番地」と算式に代入)または、データーそのものをコピーしてやれば、自動的にリンク貼付になり、元のデータ ーを修正した場合は、貼付先のセルの内容は、新しいデーターに更新されます。 しかし、貼付けるときにメニュ⇒編集⇒「形式を選択して貼り付ける」というダイヤログを開くと「リンク貼り付け」を 選択できるようになっています。 この「リンク貼り付け」の意味はどのような機能なのでしょうか。 普通の貼り付けでも必ずリンク貼り付けになっているのに、この機能をわざわざ選択する場合とは、どのような場合 なのでしょうか。 また、リンク貼付にすると何が同のように違ってくるのでしょうか。

専門家に質問してみよう