• ベストアンサー

エクセルでこんな事出来ますか?

windows98 エクセル2000を使っています。 エクセルで一つのシートに縦に20ページあるデータがあります。 (縦に40行くらいで一ページです。)   このページをそれぞれ一つのページを一つのシートにリンクさせる事はできますか?  縦に長いデータだと「一ページ目のあるデータを十五ページ目に移動」と いった作業で面倒なので・・・ 一ページ目がシート1で二ページ目がシート2で・・・という感じです。 コピーで一ページずつシートに移すとデータを追加・変更した時に反映されないので困っています。 わかりずらい質問かもしれませんがよい方法があったら教えて下さい。 よろしくお願い致します。

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

  • ベストアンサー
  • oshibe
  • ベストアンサー率20% (1/5)
回答No.5

#4です! >>Step1: の※尚、式中の「Sheet1」はコピー元のシート名に置き換えて下さい。 >というのは例えば元の20ページあるデータのシート名が test だったら >IF(TEXT(test!A1,"#")<>"",test!A1,"") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ↑当然ですが式の先頭には「=」(イコール)を付けていますよね。 >であってますよね。 >ここまでは出来たと思うのですが なんか 怪しいです。 > >しかも > >>Step2: >「A1」を1頁分、縦・横にコピー(方法はいろいろ)します。 >の意味がわかりません。 ~~~~ ↑「セルのコピー/ペースト」のことですが、お解りになりませんか? ・ 一般的な方法として例をあげれば、 「A1」のセルをコピーし、「B1~H1」のセルを複数選択して「貼り付け」をおこなえば、 Excelが勝手にセルの列名を変換して貼り付けてくれます。 次に、「A1~H1」をコピーし、「A2~H40」を複数選択し貼り付けをおこないます。 これも、Excelが行番号を変換して貼り付けてくれます。

silverpink
質問者

お礼

再度 教えて頂きありがとうございます。 ちょっとトライしてみたのですが いまいち ???? です。 あとで落ち着いてもう一度やってみます。

その他の回答 (4)

  • oshibe
  • ベストアンサー率20% (1/5)
回答No.4

>エクセルでこんな事出来ますか? ・こんな方法もお試しあれ! Step1: コピー先の先頭(A1)のセルに次の式を入力します。 式:=IF(TEXT(Sheet1!A1,"#")<>"",Sheet1!A1,"") ※尚、式中の「Sheet1」はコピー元のシート名に置き換えて下さい。 「=Sheet1!A1」だけだと、元のセルが空の場合に書式の問題でコピー先の表示がおかしくなる場合があります。 Step2: 「A1」を1頁分、縦・横にコピー(方法はいろいろ)します。 Step3: 罫線・装飾等の書式が必要であれば「書式のコピー/貼り付け」をおこないます。 以上で、見た目も元のシートと同じになります。 2頁目からはコピー元のセル「A1」を該当行に置き換えます。 nagareさん、redraftさんの「VBAを使う」方法もありますが、セキュリティの設定を していたりすると、起動の度に「マクロが含まれています・・・」のダイアログが現れる ので、煩わしいかと・・(^-^; チョット面倒ですが、私自身、あれやこれや試してみてこの方法に辿り着きました。 「セルの挿入/削除」も自動で反映してくれますので、なかなかGoo!です。

silverpink
質問者

お礼

>Step1: の※尚、式中の「Sheet1」はコピー元のシート名に置き換えて下さい。 というのは例えば元の20ページあるデータのシート名が test だったら IF(TEXT(test!A1,"#")<>"",test!A1,"") であってますよね。 ここまでは出来たと思うのですが なんか 怪しいです。 しかも >Step2: 「A1」を1頁分、縦・横にコピー(方法はいろいろ)します。 の意味がわかりません。 なかなかGoo!な回答とのことなので 出来なくて残念です。

  • mamekan
  • ベストアンサー率26% (59/219)
回答No.3

>エクセルで一つのシートに縦に20ページあるデータ もっと簡単な方法があるかも知れませんが 元データの1ページ分を選択し「コピー」 →新しいシート「貼り付け」をします。 →作成したシートのデータを選択し、コピー。 →元データ(縦に20ページあるシート)の同じ箇所を選択し 「形式を選択して貼り付け」-「リンク貼り付け」ボタンをクリック を繰り返せば編集可能になります。 無駄に思える作業ですが、リンク元を逆にしないと反映されませんので この作業が必要になります。

silverpink
質問者

お礼

さっそくの回答ありがとうございます。 急に他の作業をしなければならなくなり 頂いた回答を試してみる事が今はできません。 後日やってみて結果をお知らせするつもりです。 取り急ぎ お礼まで

silverpink
質問者

補足

元データを1ページ分コピーして新シートに貼り付けて 新シートのデータをコピーして 元データの1ページ分を選択してリンク貼り付け という作業をしてみたのですが #REF がずらっと並んでしまい ?????? です。 やり方あっていますか?

  • nagare
  • ベストアンサー率33% (280/831)
回答No.2

マクロ(VBA)を使えば簡単にできます

silverpink
質問者

お礼

私には高度すぎるのか マクロがちっともよく判りません。 回答ありがとうございました。

  • redraft
  • ベストアンサー率16% (9/55)
回答No.1

分割コピーのマクロです。 Sub sprit_datasheet() i = InputBox("1ページの行数を入れて下さい") If IsNumeric(i) = False Then MsgBox ("行数が数字ではありません。") End If p_cnt = 1 While IsEmpty(Sheet1.Cells((p_cnt - 1) * i + 1, 1)) = False r_txt = (p_cnt - 1) * i + 1 & ":" & p_cnt * i Sheet1.Rows(r_txt).Copy Set NewSheet = Worksheets.Add NewSheet.Range("A1").PasteSpecial Paste:=xlValues p_cnt = p_cnt + 1 Wend End Sub 使い方:メニューバー/ツール→マクロ→Visual Basic EditorでVBAを起動。 Projectのsheet1(でもどこでもいい)をWクリックすると画面中央にエディタが 出るので、そこに上のマクロをコピペ。 で実行ボタンを押すだけ。 実行前の注意 1.データのコピー元シートはsheet1で限定 2.1ページあたりのコピー行数は数字で入れること 3.データの終了は1列目が空かどうかを見てるので1列目にはデータを詰めること もっと丁寧に作ってあげたかったけど仕事の片手間だからこれで勘弁。

silverpink
質問者

お礼

さっそくの回答ありがとうございます。 ちょっと難しそうですがやってみます。 取り急ぎお礼だけでもと思いました。 出来なかったらまた質問させて頂きます。

silverpink
質問者

補足

お仕事中の様なのに回答頂きありがとうございました。 やってはみましたが 私には難しすぎるのかちんぷんかんぷんでした。 せっかく教えて頂いたのに残念です。

関連するQ&A