2017-07-03 5 views
0

複数のテーブルのすべてのデータを含む中央ワークシートがあります。テーブルA、B、C、Dが1つの中央ワークシートにあるとします。他の3つのワークシートで他のワークシートを自動的に変更するマスターワークシートを更新する

、Iは、ワーク4のワークシート2表B、ワークシート3表Cおよび表Dを有する

私は何をしようとしていることに開発タブからコマンドボタンを挿入することですこのコードを挿入し(中央)ワークシートとマスター:

Private Sub CommandButton1_Click() 
Sub copyAOne() 
    Dim ws As Worksheet 
    Dim newValue As Range 
    Set newValue = ActiveSheet.Range("A1") 
    For Each ws In Worksheets 
     ws.Range("A1") = newValue 
    Next ws 
End Sub 
+1

*私の質問は、中央ワークシートの変更に応じてワークシート2、3、および4が変更されるように、Excelでプログラムできますか?*回答:はい – Vityata

+0

詳細@Vityata – JasonBaik

+3

https ://stackoverflow.com/help/how-to-ask – Vityata

答えて

1

これはあなたを起動するものです:あなたは以下のものが必要

Option Explicit 

Private Sub Worksheet_Change(ByVal Target As Range) 

    If Intersect(Target, [tableA]) Is Nothing Then Exit Sub 
    If Target.Count > 1 Then Exit Sub 

    Dim wkb As Workbook 
    Set wkb = Workbooks.Open("C:\Desktop\Test2.xlsm") 

    wkb.Worksheets(1).Cells(Target.Row, Target.Column).Value = Target.Value 

    wkb.Save 
    'wkb.Close 

End Sub 

  • あなたがいないモジュールでは、ワークシート内のコードを配置する必要があり、現在のWorksheet
  • Test2.xlsm
  • 中にtableA。
  • おそらく、期待どおりに動作しない可能性がありますが、主な考えはこれです。
  • ファイルを実行する前に、 "C:\ Desktop \ Test2.xlsm"を閉じてください。

そこにコードを置く:あなたはボタンでそれをやってみたかった場合、 enter image description here

、一般的には、イベントで、これはあなたが使用できる何かではありません。

Option Explicit 

Public Sub TestMe() 

    Dim wkb As Workbook 
    Set wkb = Workbooks.Open("C:\Users\Desktop\Test2.xlsm") 

    ThisWorkbook.Worksheets(1).Range("A1:D16").Copy 
    wkb.Worksheets(1).Range("A1:D16").PasteSpecial xlPasteValues 
    Application.CutCopyMode = False 

    wkb.Save 
    'wkb.Close 

End Sub 
+1

は同じイベントを扱うようにここに来ました –

+0

@JasonBayldon - イベントは多くの問題を解決する機能です:) – Vityata

+0

@Vityataこのコードのどの部分をパーソナライズする必要がありますか? – JasonBaik

関連する問題