I have a pricelist that another workbook is referring to. But each time I open the workbook I need to open the price list to get it updated. I don't want that, as other users would not understand this.
After googling around I understand that I can do something with VBA so that it can be read when opened without being opened?
One that I tried was this, but it does not seem to work. Also I want to read the whole workbook not only rows/columns/sheets. Is there an easier way?
![]()
Option Explicit Private Sub Workbook_Open() Call ReadDataFromCloseFile End Sub Sub ReadDataFromCloseFile() On Error GoTo ErrHandler Application.ScreenUpdating = False Dim src As Workbook ' OPEN THE SOURCE EXCEL WORKBOOK IN "READ ONLY MODE". Set src = Workbooks.Open("C:\Dropbox\5. Programmer\Excel\Prisliste Database.xlsm", True, True) ' GET THE TOTAL ROWS FROM THE SOURCE WORKBOOK. Dim iTotalRows As Integer iTotalRows = src.Worksheets("sheet1").Range("B1:B" & Cells(Rows.Count, "B").End(xlUp).Row).Rows.Count ' COPY DATA FROM SOURCE (CLOSE WORKGROUP) TO THE DESTINATION WORKBOOK. Dim iCnt As Integer ' COUNTER. For iCnt = 1 To iTotalRows Worksheets("Sheet1").Range("B" & iCnt).Formula = src.Worksheets("Sheet1").Range("B" & iCnt).Formula Next iCnt ' CLOSE THE SOURCE FILE. src.Close False ' FALSE - DON'T SAVE THE SOURCE FILE. Set src = Nothing ErrHandler: Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Bookmarks