• ベストアンサー

エクセル 複数のシートの値を同じにする

いつもお世話になります。 Sheet1~6があり、それぞれのシートのセルF7~J7の値は常に同じにしておきたいのです。 つまり、 ●Sheet1のセルF7の値を変更した時、Sheet2~6のF7の値を同じにする。 ●Sheet2の 〃 Sheet1・3~6のF7の値を同じにする。 ・・・・ もちろんG7~J7の値を変更した時も同様に、それぞれのシートに値を反映したいのです。 可能でしょうか?

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.11

#2です。 #10だと上手くないので少し訂正しました。 あまりスマートじゃないけど、、、 書くのは Thisworkbookモジュールです。 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim wsArray, r As Range, flg As Boolean wsArray = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6") flg = False  For i = 0 To UBound(wsArray)    If Sh.Name = wsArray(i) Then flg = True  Next i If Not flg Then Exit Sub For Each r In Target  If Application.Intersect(Sh.Range("F7:J7"), r) Is Nothing Then Exit Sub   Application.EnableEvents = False    For i = 0 To UBound(wsArray)     If Sh.Name <> wsArray(i) Then       Worksheets(wsArray(i)).Range(r.Address).Value = r.Value     End If    Next i   Application.EnableEvents = True Next r End Sub

7-samurai
質問者

お礼

ご回答ありがとうございます。 私にとってはあまりにも難しいマクロで、意味不明なのですが、コピー&ペーストで動きました。 ・・・構文の意味も後々理解するように致します。 ありがとうございました。

その他の回答 (11)

回答No.1

少々めんどうですが、こういうやり方があります。 ・Sheet1のセルF7の値を変更する前に、Sheet2~6のシートタブをCtrl+クリックしておいてF7の値を変更 ・Sheet2のセルF7の値を変更する前に、Sheet1,3~6のシートタブをCtrl+クリックしておいてF7の値を変更 シートタブをCtrl+クリックすると、タブの色が変わるので、それと確認できます。

7-samurai
質問者

補足

ご回答ありがとうございます。 おっしゃる通りなのですが、現在作成しているフォーマットは、1~6のそれぞれのシートで編集する必要があり、出来れば上記のようなエクセルの知識のない不特定多数の人がそのフォーマットを使っても、問題ないように作りたいのです。 おそらくVBAでの製作になると思うのですが、ご存知でしたら宜しくお願い致します。

関連するQ&A