Tự động mở 2 file cùng lúc (1 người xem)

Người dùng đang xem chủ đề này

toandiennuoc123

Thành viên thường trực
Tham gia
7/3/12
Bài viết
239
Được thích
9
Chào các bạn ! Tôi có 2 file A và B, khi mở file A thì file B cũng được mở theo và ngược lại khi mở B thì A cũng được mở. Cám ơn các bạn.
 
Chào các bạn ! Tôi có 2 file A và B, khi mở file A thì file B cũng được mở theo và ngược lại khi mở B thì A cũng được mở. Cám ơn các bạn.
Copy code này cho vào ThisWorkBook của file B. Trong file A cũng copy code này vào nhưng đổi tên file lại là B.xls
PHP:
Private Sub Workbook_Open()
Dim wb As Workbook
For Each wb In Workbooks
   If wb.Name = "A.xls" Then End
Next
Workbooks.Open ThisWorkbook.Path & "\" & "A.xls"
End Sub
 
Upvote 0
Copy code này cho vào ThisWorkBook của file B. Trong file A cũng copy code này vào nhưng đổi tên file lại là B.xls
Thế này thôi có được không anh? code này đặt ở file A - File B thì sửa thành Workbooks.Open ThisWorkbook.Path & "\" & "A.xls"

PHP:
Private Sub Workbook_Open()
Workbooks.Open ThisWorkbook.Path & "\" & "B.xls"
End Sub

@ toandiennuoc : File A và B để chung trong 1 thư mục - và chú ý khi bạn dùng office 2007 trở nên thì phần mở rộng không phải là .xls nữa nhé mà
lúc đó là .xlsm vì A và B cùng chứa macro.
 
Upvote 0
Thế này thôi có được không anh? code này đặt ở file A - File B thì sửa thành Workbooks.Open ThisWorkbook.Path & "\" & "A.xls"

PHP:
Private Sub Workbook_Open()
Workbooks.Open ThisWorkbook.Path & "\" & "B.xls"
End Sub

@ toandiennuoc : File A và B để chung trong 1 thư mục - và chú ý khi bạn dùng office 2007 trở nên thì phần mở rộng không phải là .xls nữa nhé mà
lúc đó là .xlsm vì A và B cùng chứa macro.

Quang Hải "thủ thả" mà. Nếu File "đó" đã mở rồi thì thôi.
...................
Ẹc..
 
Upvote 0
Thế này thôi có được không anh? code này đặt ở file A - File B thì sửa thành Workbooks.Open ThisWorkbook.Path & "\" & "A.xls"

PHP:
Private Sub Workbook_Open()
Workbooks.Open ThisWorkbook.Path & "\" & "B.xls"
End Sub

Nghi nghi là không được vì khi mở file A, file A sẽ tìm và mở file B, khi file B mở sẽ tìm và mở file A, chắc code mở tới sáng luôn.
 
Upvote 0
Nghi nghi là không được vì khi mở file A, file A sẽ tìm và mở file B, khi file B mở sẽ tìm và mở file A, chắc code mở tới sáng luôn.

Bây giờ là sáng mà, đáng lẽ phải nói là chạy tới tối luôn mới đúng.
Tui cũng nghi... thôi chứ chưa dám thử à nghe
Hic!
 
Upvote 0
Quang Hải "thủ thả" mà. Nếu File "đó" đã mở rồi thì thôi.
Hehe - đúng là bé còi chưa nghĩ tới việc file đang mở, tuy nhiên nếu để kiểm tra 1 file có đang mở hay không thì chắc bé còi cũng không bắt excel duyệt vòng lặp rùi tìm file có mở hay không như thế vì mình biết rõ là tên file nào là file đang mở rùi mà bác. Nhìn cái vòng lặp hỏng thích lắm :v :v :v (quan điểm riêng á hehe....)
 
Upvote 0
Hehe - đúng là bé còi chưa nghĩ tới việc file đang mở, tuy nhiên nếu để kiểm tra 1 file có đang mở hay không thì chắc bé còi cũng không bắt excel duyệt vòng lặp rùi tìm file có mở hay không như thế vì mình biết rõ là tên file nào là file đang mở rùi mà bác. Nhìn cái vòng lặp hỏng thích lắm :v :v :v (quan điểm riêng á hehe....)

Đúng thế chắc không cần vòng lặp đâu, và cũng cần xét thêm file đã mở có tên cùng nhưng lai không phải file mong muốn (vì ở đường dẫn khác), code sau phần nào giải quyết điều đó

Mã:
Private Sub Workbook_Open()
    Const TenFileCanMo = "B.xls" ''(1*) thay the cho hop ly dang o File A thi cai nay la ten file B, va nguoc lai
    
    Dim wkB As Workbook
    Dim PathFileCanMo As String
    
    PathFileCanMo = ThisWorkbook.Path ''(2*)neu cung dg dan file nay thi de nguyen, trai lai thi nhap vao vd: ="d:\tam\vidu"
    
    On Error Resume Next
    Set wkB = Workbooks(TenFileCanMo)
    If wkB Is Nothing Then
        Set wkB = Workbooks.Open(PathFileCanMo & "\" & TenFileCanMo)
        If wkB Is Nothing Then MsgBox "khong ton tai file " & PathFileCanMo & "\" & TenFileCanMo
    Else
        On Error GoTo 0
        ''code xu ly truong hop kiem tra file da mo trung ten nhung o duong dan khac
        If wkB.Path <> PathFileCanMo Then
            ''thong bao nhu duoi day hoac la thay code xu ly phu hop - vd nhu dong file rui mo chinh xac file can
            MsgBox TenFileCanMo & " da mo, nhung o duong dan khac, ban phai tu kiem tra, dong, va mo file chinh xac"
        End If
    End If
End Sub

người sử dụng cần chú ý các comments và chú ý thay 2 dòng ghi chú ở (1*) và (2*) hợp lý
 
Lần chỉnh sửa cuối:
Upvote 0
Hehe - đúng là bé còi chưa nghĩ tới việc file đang mở, tuy nhiên nếu để kiểm tra 1 file có đang mở hay không thì chắc bé còi cũng không bắt excel duyệt vòng lặp rùi tìm file có mở hay không như thế vì mình biết rõ là tên file nào là file đang mở rùi mà bác. Nhìn cái vòng lặp hỏng thích lắm :v :v :v (quan điểm riêng á hehe....)
tuy nó ko đẹp lắm, nhưng thiếu nó thì công việc mình cũng hơi bị vất vả lắm đó Em, nên tốt nhất học cách chấp nhận thôi em

"đời ko như ý muốn, phải học cách chấp nhận ----> vạn sự yên vui"
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom