2017-11-23 7 views
0

現在、私は2台のPCを含む新しいプロジェクトを開始しています。 1台のPCにデータ入力用のExcelシートがあります。また、別のExcelシートでは、データ入力のデータを表示するために使用されます。これらの2台のPCはサーバーに接続され、同じバージョンのExcelを使用します。VBAを使用して2つの異なるPCに2枚のExcelシートをリンクするにはどうすればよいですか?

ここで私は、データ入力の変更を頻繁に検出してデータが正確であるように表示することを計画しています。私は、両方のファイルがVBAを使用して同じPCで開いている場合、これが機能することができることを知っています。

ただし、両方のファイルが別々のPCにある場合、どのようにこれを行うのかわかりません。 VBAで単純に行うことも可能ですか、私に助けになる他の何かが必要ですか?

+0

表示シートを更新するルーチンを作成します。指定した間隔で更新を実行するようにスケジュールし、VBAだけを使用して更新することができます。 – L42

+0

あなたはウェブページにデータを投稿し、他のPCを使ってデータを削ることができます – jsotola

+0

「これら2台のPCはサーバーに接続されます」 - ここではどのようなサーバーですか?ファイルサーバー ? Webサーバー? –

答えて

0

解決策が見つかりました。

さらに、オンラインおよびいくつかの変更を掘り後、私はこの思い付いた:

Option Explicit 

Sub Read() 
On Error GoTo ErrHandler 
Application.ScreenUpdating = False 

Dim src As Workbook 

' open data entry in read-only 
Set src = Workbooks.Open("C:\Users\Documents\EXCEL MONITORING FILE.xlsx", True, True) 

' count rows from data entry 
Dim iTotalRows As Integer 
iTotalRows = src.Worksheets("Source").Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row).Rows.Count 

' copy data. 
Dim iCnt As Integer   
For iCnt = 1 To iTotalRows 
    Worksheets("Display").Range("A1:W1" & iCnt).Formula = src.Worksheets("Source").Range("A1:W1" & iCnt).Formula 
Next iCnt 

' close data entry read only. 
src.Close False    
Set src = Nothing 

ErrHandler: 
Application.EnableEvents = True 
Application.ScreenUpdating = True 
End Sub 

は、今では正常に動作します。

関連する問題