두 개의 스프레드시트가 있는데, 사람이 첫 번째 스프레드시트를 변경하면 두 번째 스프레드시트가 업데이트되기를 원합니다. 간단한 if 문으로 이 작업을 수행할 수 있지만 첫 번째 시트에서 작업하는 사람이 시트를 닫았다가 다시 열 때까지 업데이트되지 않습니다.
이 작업을 자동으로 수행할 수 있습니까?
답변1
삭제된 답변의 댓글을 보면 업데이트할 스프레드시트가 다른 컴퓨터에 있다는 것을 알 수 있습니다. 내 생각에는 소스 스프레드시트의 수정 날짜를 정기적으로 확인하고 필요한 경우 자체 업데이트하는 원격 스프레드시트용 매크로를 작성하지 않는 한 이 업데이트는 불가능합니다. 이 경우 문서는 공용 네트워크 공유에 있어야 하며 작업이 쉽지 않습니다.
모든 사용자가 인터넷에 액세스할 수 있는 경우 다른 옵션은 온라인 스프레드시트를 사용하여 단지하나스프레드시트. 이러한 목적을 달성할 수 있는 다양한 온라인 제품이 있으며 무료 제품도 있습니다.
귀하는 귀하의 환경과 그 환경에서 무엇을 원하거나 가능한지에 관한 자세한 정보를 우리에게 제공해야 합니다.
답변2
두 번째 스프레드시트를 업데이트하는 첫 번째 스프레드시트에 worksheet_change 매크로를 설정할 수 있습니다. 코드는 다음과 같습니다.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wbk2 As Workbook, wbk1 As Workbook, sht1 As Worksheet, sht2 As Worksheet
Set wbk1 = ActiveWorkbook
Set sht1 = ActiveSheet
on error resume next
set wkb2=workbooks("myfile.xlsx")
if err<>0 then
err.clear
Set wbk2 = Workbooks.Open("\\remotecomputer\folder\myfile.xlsx")
end if
on error goto 0
Set sht2 = wbk2.Sheets("mySheet2")
sht2.Cells(1, 1) = "I have updated range " & Target.Address & " in sheet " & sht1.Name & " to value " & Target.Value
wbk2.Close True
End Sub