• ベストアンサー

Excelの外部参照と書式設定について。

いつもお世話になっております。 Excelの外部参照についてですが、 例えばBook1のA1にBook2のA1が外部参照していたとします Book1のA1が黄色に塗りつぶしされていたとしたらBook2のA1も 自動的に黄色に塗りつぶしされる様にしたいのです。 ”条件付き書式”設定も考慮したのですが、Book1のA1を塗りつぶす条件 は人の判断でその時に応じて変わる為に単純にBook1のA1が黄色なら Book2のA1も同じ黄色としたいのです。 OSはWindows95,Excelは97を使用しております。 どうか宜しくお願い致します。

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

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

>願わくば、bookを起動時に自動でモジュールが実行される様にしたく現在調査中です。 この補足を見て気が付きました。 回答時に、次の3行を書くのを忘れていました。失礼しました。起動時に自動で動きます。 ThisWorkBookのコードウインドウに貼り付けます。 Private Sub Workbook_Open()   getWorkBook1 End Sub

ninja972
質問者

お礼

ありがとうございました。 これでほぼ完璧になりました。 あとはFor~Nextで参照セルを コントロールすれば終わりです。 これは自力で何とか出来ますので、がんばります。 貴重なお時間を申し訳ありませんでした。 また何かあった時には宜しくお願い致します。 以上

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

その他の回答 (2)

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

>Book1のA1にBook2のA1が外部参照・・・自動的に黄色に塗りつぶしされる様にしたいのです とありますが、Book2の立ち上げ時にBook1の内容にあわせる例です。任意の更新も可能でしょう。 やっていることは、参照されているBookを必要なら開いているだけです。質問の主旨にあっているかは自信ありません。Book1、Book2を複数で同時に更新しているような状況は想定していません。 また、Book1、Book2がどのような環境下(ネットワーク等)にあるかも不明なので、PC内でBook1、Book2とも立ち上げ可能な状態でのコード(参考例)です。Excel2000で確認済みですが、Excel97でも問題ないと思われます。 実際は参照するセル等は多いと思いますが、ご参考に。 標準モジュールに貼り付けます。(参照しているBookの標準モジュール) Sub getWorkBook1()   Dim myBookName As String 'このBook名(自分)   Dim sBookPath As String '参照されているBookのパス   Dim sBookName As String '参照されているBook名   Dim sBookClosed As Boolean '参照されているBookが閉じていた     myBookName = ThisWorkbook.Name     sBookPath = "D:\・・・・\・・・・"  '参照されているBookのパスをセットします     sBookName = "・・・・.xls"      '参照されているBook名をセットします   On Error GoTo ErrorHandler   'A1のパターンを同一にする例   With Workbooks(sBookName).Worksheets("Sheet1")     Worksheets("Sheet1").Range("A1").Interior.ColorIndex = _                       .Range("A1").Interior.ColorIndex   End With   '参照されているBookが閉じていたのであれば、ここで閉じる   If sBookClosed Then Workbooks(sBookName).Close   Exit Sub ErrorHandler:   '参照されているBookが閉じていれば開く   sBookClosed = True   Workbooks.Open sBookPath & "\" & sBookName   Workbooks(myBookName).Activate   Resume End Sub

ninja972
質問者

お礼

こんにちは。 わざわざコーディングまでして頂いてありがとうございました。 無事97でも動作確認が取れました。大変助かりました。m(__)m 願わくば、bookを起動時に自動でモジュールが実行される様に したく現在調査中です。 参照する側のbookを多数のエンドユーザに配布する為に配布された ユーザは単にエクセルを開くだけで、モジュールの実行を意識させ たくないのです(自分勝手な事を言って申し訳ありません)。 ほとんどVBAの経験が無い為に苦戦しております。 もしアドバイスを願えれば幸いです。

すると、全ての回答が全文表示されます。
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

こんにちは。 無理だと思います。 VBAでやっても、結構面倒だと思います。

ninja972
質問者

お礼

こんにちは。 Excelだけでは無理ですか・・・ どうもありがとうございました。

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

関連するQ&A