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.








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.xlsChà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.
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
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"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
Private Sub Workbook_Open()
Workbooks.Open ThisWorkbook.Path & "\" & "B.xls"
End Sub
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.




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.
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....)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....)
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

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 emHehe - đú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....)