- ベストアンサー
エクセル 複数のシートの値を同じにする
いつもお世話になります。 Sheet1~6があり、それぞれのシートのセルF7~J7の値は常に同じにしておきたいのです。 つまり、 ●Sheet1のセルF7の値を変更した時、Sheet2~6のF7の値を同じにする。 ●Sheet2の 〃 Sheet1・3~6のF7の値を同じにする。 ・・・・ もちろんG7~J7の値を変更した時も同様に、それぞれのシートに値を反映したいのです。 可能でしょうか?
- みんなの回答 (12)
- 専門家の回答
質問者が選んだベストアンサー
#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
その他の回答 (11)
- teachmeplease
- ベストアンサー率31% (30/94)
少々めんどうですが、こういうやり方があります。 ・Sheet1のセルF7の値を変更する前に、Sheet2~6のシートタブをCtrl+クリックしておいてF7の値を変更 ・Sheet2のセルF7の値を変更する前に、Sheet1,3~6のシートタブをCtrl+クリックしておいてF7の値を変更 シートタブをCtrl+クリックすると、タブの色が変わるので、それと確認できます。
補足
ご回答ありがとうございます。 おっしゃる通りなのですが、現在作成しているフォーマットは、1~6のそれぞれのシートで編集する必要があり、出来れば上記のようなエクセルの知識のない不特定多数の人がそのフォーマットを使っても、問題ないように作りたいのです。 おそらくVBAでの製作になると思うのですが、ご存知でしたら宜しくお願い致します。
- 1
- 2
お礼
ご回答ありがとうございます。 私にとってはあまりにも難しいマクロで、意味不明なのですが、コピー&ペーストで動きました。 ・・・構文の意味も後々理解するように致します。 ありがとうございました。