• ベストアンサー

エクセル2000で規則的間隔に並んだ数値を別シートへ簡単に並べてコピーしたい。

教えてください。 例えば、sheet1のA1に計算式又は数値が入っています。次にD1にも同様、G1とJ1、M1、P1と規則的間隔で記入されています。この数値をリンクでsheet2のA1には(=sheet1!A1)、A2には(=sheet1!D1)、 A3は(sheet1!G1)という様に並べたいのですが、一回一回sheet1へ=で取りに行ってリンクして設定していますが大変です。オートフィルみたいに、簡単にセルをコピー出来る方法はないのでしょうか。解る方、教えてください。お願いします。

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

  • ベストアンサー
  • seikotty
  • ベストアンサー率27% (3/11)
回答No.3

はじめまして。 ちょっとめんどくさいかも・・・という方法なんですが。 ☆Sheet1のコピーしたいセルを「Ctrl」キーを押しながら全て選択→『コピー』をクリック ☆Sheet2のA1を右クリック→『形式を選択して貼り付け』をクリック→ボックスの左下にある『リンク貼り付け』ボタンをクリック セルを選択するところが面倒ですけどねぇ。。。

saburo3
質問者

お礼

回答有難う御座いました。 皆様から色々回答いただき感謝しておりますがseikotty様の方法が、私の理想としていた方法でした 本当に有難う御座いました。本当によくご存知ですね。尊敬します。これからもお力添えをお願いします。助かりました。

その他の回答 (2)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

●Sheet1からSheet2に値をコピーしたい場合  1.Sheet1のA列を選択(列番号『A』をクリック)  2.以下、コピーしたい列の列番号をコントロールキーを押しながらクリック  3.列選択が終わったら、コピー  4.Sheet2のA列を選択して貼り付け ●式を使用(式なので、Sheet1の値を変更すればSheet2も変わります)  Sheet2のA1に   =OFFSET(Sheet1!$A$1,ROW()-1,(COLUMN()-1)*3)  後はコピーして、必要な分だけ貼り付けます。  OFFSET、ROW、COLUMN関数を使ってみました。詳細はHELPを参照して下さい。  (COLUMN()-1)*3で、A列を基準に3列おきになるように指定しています、 ご参考に。

saburo3
質問者

お礼

回答有難うございました。 =OFFSET(Sheet1!$A$1,ROW()-1,(COLUMN()-1)*3) の方法が活用出来ます。 やっとすっきりしました。 大変有難うございました。 これからも、私たちの力になってください。 有難うございました。

noname#4564
noname#4564
回答No.1

  下記のマクロを実行すればOKです。 Sub Macro1() Dim WkSheet As Excel.Worksheet Dim i As Long Set WkSheet = Application.Worksheets("Sheet2") With WkSheet For i = 1 To 85 .Cells(i, 1).FormulaR1C1 = "=Sheet1!R[" & CStr(1 - i) & "]C[" & CStr(3 * (i - 1)) & "]" Next i End With Set WkSheet = Nothing End Sub 作成、実行手順は以下の通りです。 (1) Excelのメニューより[ツール] - [マクロ] - [Visual Basic Editor] を選択。 (2) Visual Basic Editorのメニューより[挿入] - [標準モジュール]を選択。 (3) 追加された標準モジュールに上記14行のコードをコピー&ペースト。 (4) Excelのメニューより[ツール] - [マクロ] - [マクロ]を選択。 (5) Macro1を選択し、[実行]ボタンをクリック。 以上でOKです。  

saburo3
質問者

お礼

回答有難うございました。 マクロの方法が有るとは気づきませんでした。 これを基にやってみます。 大変有難うございました。 これからも、私たちの力になってください。 有難うございました。

関連するQ&A