• ベストアンサー

エクセル VBA? 関数?

book1(データ入力用)とbook2(送信用)で作業します。 必ずbook1→book2の順番で開きます。 book1には1ヵ月の日数分のsheetがあり(約30sheet)、作業中のsheetのA1の日付を、book2を開いたときにbook2のB4に自動的に表示される様にしたいです。 関数でも可能であればOKですが、できればVBAの文章をおしえてください。Private Sub Worksheet_Activate()で可能でしょうか??? よろしくお願いします。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

関数では、Book1のどのシートがアクティブなのかは、判断できません。 もし、欲しい日付のシート名が日付などで、わかるようであれば Book2のB3にBook1のシート名でもいれておいて、 B4に =INDIRECT("[Book1]"&B3&"!$A$1") といれておく方法があります。 VBAでしたら、VBエディター開いて、VBAProjectの中のThisWorkBookをクリックして、WorkbookのOpenのイベントを利用して Private Sub Workbook_Open() Range("B5").Value = Workbooks("Book1").ActiveSheet.Range("A1").Value End Sub と記述しては、如何でしょうか。

すると、全ての回答が全文表示されます。

専門家に質問してみよう