OCNのモバイルに新コース登場!キャンペーン続々開催中

教えてください。

◇既存シートのタブは「まとめ」「コード」の二個
◇「コード」に株式コードを 例えば10個インプットすると、「コード」の右側のタブにシートが次々と作られ、シート内に株価がダウンロードされる。そのタブ名は「株式コード」となる。
 具体的には、「コード」に株式コードを「6501」「6502」「6503」「6504」・・・とインプットすると、タブとしては左から「まとめ」「コード」「6501」「6502」「6503」「6504」・・・となり、「6501」等には 順次株価がダウンロードされます。

 このダウンロードは 既存ソフトのプログラムに組み込まれており、私では書き換えができません。

教えていただきたいのは、
◇「6501」内の ある固定されたセルの値を「まとめ」内の ある固定されたセルにコピーしたいのです。
◇しかしながら「コード」内の株式コードは、時に「7001」「7002」「7003」・・・と変動するので、「まとめ」のあるセルに ='6501'!$A6 と記載しても =#REF!$A6 となってしまいます。
◇「まとめ」内の式をどのように書くと、変動するタブ内の値をコピーできるのでしょうか。
◇ちなみに、「コード」内の株式コードを書き換えるときは、「コード」の右側のタブは 全て削除します。

初歩的な質問ですが、よろしくお願いいたします。

質問者からの補足コメント

  • ご回答 ありがとうございます。
    以下が エラーの明細なのですが、記載方法が間違っているのでしょうか。
    ご指摘いただければ 幸いです。

    ActiveCell.FormulaR1C1 = "=worksheets(3)!RC" ←これだとエラーになります。
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "='s6501'!RC[23]" ←これだとエラーにはなりません。
    Range("C3").Select
    ActiveCell.FormulaR1C1 = "='s6501'!RC[33]"

    No.1の回答に寄せられた補足コメントです。 補足日時:2018/08/05 09:49
  • HAPPY

    ありがとうございました。

    教えていただきました書式を使わさせていただき 完成できました。

    Worksheets(1).Range("b3:b108").Value = Worksheets(3).Range("y3:y108").Value

      補足日時:2018/08/05 15:11
  • HAPPY

    お手数をおかけいたしました。
    ありがとうございました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2018/08/05 15:12

A 回答 (2件)

ワークシートは、それぞれ番号で管理されているので、


worksheets(1), worksheets(2) などの方法でアクセスできますよ。
既存のワークシートが2個のようですから、worksheets(3) 以降のどれかが、あなたの所望のシートでしょう。
worksheets(3).Name などで名前を抽出できると思います。
この回答への補足あり
    • good
    • 0

こんにちは。



シート名(例:6501)が固定でシートに連動しないようになさりたいということだと解釈しました。
ご提示の「='6501'!$A6」のような参照設定だと、シート名が変更されると、エクセルが親切にも参照式内のシート名も変更してくれます。

この機能を効かないようにするには、間接的な参照にしておくことで可能になります。
具体的には、
 =INDIRECT("6501!A6")
のような参照方法にしておけばよろしいかと。
対象となるシートが存在しない場合には、「#REF!」表示となります。

※ スマホからなので、未検証です。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング