ネットが遅くてイライラしてない!?

Book1、Book2があり
Book1のA1が"AAA"ならBook2のA1を赤く網掛け
Book1のA1が"BBB"ならBook2のA1を青く網掛け
Book1のA1が"CCC"ならBook2のA1を黄色く網掛け
Book1のA1が"DDD"ならBook2のA1を黒く網掛け
Book1のA1が""ならBook2のA1の網掛け無し

これを列1~列100の間で可能にするマクロを教えてください。
よろしくお願いします。
エクセルは2003、OSはXPです。

A 回答 (2件)

VBAご理解いただけるでしょうか。


基本の部分だけですが
Book1,Book2とも開いているとして
Book2の標準モジュールに

Sub Macro1()
For i = 1 To 100
Select Case Workbooks("Book1").Sheets("Sheet1").Cells(i, 1).Value
Case "AAA"
Cells(i, 1).Interior.ColorIndex = 3
Case "BBB"
Cells(i, 1).Interior.ColorIndex = 41
Case "CCC"
Cells(i, 1).Interior.ColorIndex = 6
Case "DDD"
Cells(i, 1).Interior.ColorIndex = 1
Case Else
Cells(i, 1).Interior.ColorIndex = xlNone
End Select
Next
End Sub

をコピペして実行
手抜きでも申し訳ありません。

この回答への補足

さっそくのご回答ありがとうございます。
サンプルをつくり、試してみたところ、無事に動作確認できました。
ところが、実際の運用状況では、両ブックともに開いた状態にすることが、少し困難でした。

両ブックはWebDAV共有ドライブの同じフォルダ内にあるのですが
ブック1は入力専用データとして使用、
ブック2は管理者がブック1のデータを参照しながら、別の入力作業をしています。

ブック1はWebDAV環境の都合で共有させられませんので、ブック2で参照するためにブック1を開いてしまうと、当然ブック1に新たな入力をしようと別の人が開くと「読み取り専用」となってしまいます。

これを回避したいのですが、方法はあるのでしょうか?

補足日時:2008/07/12 09:04
    • good
    • 0

>ブック1は入力専用データとして使用、


>ブック2は管理者がブック1のデータを参照しながら、別の入力作業をしています。
例えば
Book1を 読み取り専用 で開く
A列をコピイ
Book2の別シートにでも貼り付け
Book1を閉じる

を最初に追加してみてはいかがでしょうか
コードはマクロの記録で取得できそうです試してみてください。


Select Case Workbooks("Book1").Sheets("Sheet1").Cells(i, 1).Value

Select Case Sheets("Sheet2").Cells(i, 1).Value
とかに変更すると大丈夫でしょう。

この回答への補足

ご回答ありがとうございます。
マクロの自動記録を試して見ました。

しかし、A列のコピーからブックを閉じるところしか記録されませんでした。
ブックを開く部分はどうやって記録するんでしょうか?

補足日時:2008/07/12 11:47
    • good
    • 0
この回答へのお礼

自分なりに調べてみたら、できました。
おかげさまで希望の動作を実現できました。
ありがとうございます。

お礼日時:2008/07/12 12:20

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


人気Q&Aランキング