解決済み

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

  • 困ってます
  • 質問No.297829
  • 閲覧数392
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 90% (18/20)

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

どうか宜しくお願い致します。

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

  • 回答No.3

ベストアンサー率 68% (791/1163)

>願わくば、bookを起動時に自動でモジュールが実行される様にしたく現在調査中です。
この補足を見て気が付きました。
回答時に、次の3行を書くのを忘れていました。失礼しました。起動時に自動で動きます。


ThisWorkBookのコードウインドウに貼り付けます。

Private Sub Workbook_Open()
  getWorkBook1
End Sub
お礼コメント
ninja972

お礼率 90% (18/20)

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

以上
投稿日時 - 2002-06-23 12:28:14
感謝経済、優待交換9月20日スタート

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 68% (791/1163)

>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

お礼率 90% (18/20)

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

ベストアンサー率 45% (1388/3066)

こんにちは。

無理だと思います。
VBAでやっても、結構面倒だと思います。
お礼コメント
ninja972

お礼率 90% (18/20)

こんにちは。

Excelだけでは無理ですか・・・
どうもありがとうございました。
投稿日時 - 2002-06-23 11:22:47
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ