spacemanforever
Thành viên hoạt động
- Tham gia
- 8/10/08
- Bài viết
- 113
- Được thích
- 71
Vầy hổng biết có được khôngChào GPE!
Em vô hiệu hóa button X của application và chỉ cho đóng bằng button EXIT (tự tạo) thì phải viết code thế nào vậy.
Em có mô tả trong sheet INTRODUCE ở file đính kèm.
Mong được mọi người hỗ trợ.
Public Chk As Boolean
Sub CloseWb()
Chk = True
ThisWorkbook.Close (True)
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Chk = False Then
Cancel = True
MsgBox "Ban phai bam nut 'Exit Workbook' de dong file"
End If
End Sub
2 code gần như giống nhau, chỉ khác 1 điểm là trong file của bạn dùng Application.Quit ---> Tôi nghĩ không nên! Vì mình đóng Wb của mình thôi chứ, cớ sao lại đóng toàn bộ Excel (bạn mở 3 file, nó đóng tất tần tật của bạn luôn)Cảm ơn anh ndu...
em cũng mới tìm được cách, nhưng thấy cách bác hay hơn.
Thanks
2 code gần như giống nhau, chỉ khác 1 điểm là trong file của bạn dùng Application.Quit ---> Tôi nghĩ không nên! Vì mình đóng Wb của mình thôi chứ, cớ sao lại đóng toàn bộ Excel (bạn mở 3 file, nó đóng tất tần tật của bạn luôn)
Sub ex()
Dim wb As Integer
AllowClose = True
Application.IgnoreRemoteRequests = False
Application.DisplayAlerts = True
wb = Application.Workbooks.Count
If wb < 2 Then
Application.Quit
Else
ThisWorkbook.Close
End If
End Sub
Đây là cách làm của tôiAh!
Riêng vấn đề nay em mới giải quyết được bằng việc dùng code sau:
Xin được anh chỉ giáo thêm.PHP:Sub ex() Dim wb As Integer AllowClose = True Application.IgnoreRemoteRequests = False Application.DisplayAlerts = True wb = Application.Workbooks.Count If wb < 2 Then Application.Quit Else ThisWorkbook.Close End If End Sub
Public Chk As Boolean
Sub CloseWb()
Dim Ans As Long
With CreateObject("WScript.Shell")
Ans = .Popup(Evaluate("tb1"), , "THÔNG BÁO", vbYesNoCancel)
End With
If Ans <> 2 Then
Chk = True
ThisWorkbook.Close (Ans = 6)
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Chk = False Then
Cancel = True
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("tb2") & """,2)")
Else
If Workbooks.Count = 1 Then Application.Quit
End If
End Sub
Có copy thì phải copy CODE VBA chứ! Chỉ copy mỗi BUTTON chả được tích sự gìBác ơi, nói rõ hơn giúp e được ko?
E copy cái button của bác sang 1 file excel khác nhưng ko chạy
Ah...Em có copy ca code rồi mà nó vẫn ko chạy
Em đành làm cách nhấn vào nút thì quit luôn, ko hiển thị thông báo nữa
Dùng : Application.Quit
Không thể hỏi "chen ngang" kiểu vậy đượcEm đã làm được theo hướng dẫn của bác rồi ạ,
Em cảm ơn bác
Nhân tiện đây bác có thể cho e hỏi luôn 1 vấn đề nhỏ ko ạ
Cho e hỏi chút nhé
Em có 1 file excel, có sheet 1, sheet2, sheet3
Trong Sheet 1 của e có Cột A, dòng 1: A1 chứa logo
Em muốn 1 lệnh mà các sheet2, sheet3 tự động chèn logo này vào thì làm thế nào, ko phải copy, paste
Như kiểu file đính kèm
http://www.mediafire.com/?3r82ocip002d2nd
Vầy hổng biết có được không
1> Trong Module
2> Trong WorkbookPHP:Public Chk As Boolean Sub CloseWb() Chk = True ThisWorkbook.Close (True) End Sub
Và Button sẽ liên kết với Sub CloseWbPHP:Private Sub Workbook_BeforeClose(Cancel As Boolean) If Chk = False Then Cancel = True MsgBox "Ban phai bam nut 'Exit Workbook' de dong file" End If End Sub
(làm vậy thôi chứ mấy trờ vớ vấn này chẳng ngăn cản được người biết dùng code)
Làm lại cho bạn phần thoát chương trình nhéMình gửi file lên, nhờ bạn giúp:
1/ Mình copy, có chỉnh lại chút, nhưng ko biết sai phần nào nên ko thoát được khi bấm bút "Thoát chương trình"
2/ Khi sheetx.select, có cần thêm dòng lệnh sheetx.active ko, để khi chuyển qua sheetx thì có thể nhập được ngay dữ liệu trong ô trỏ chuột (trước đó thì phai click 1 cái vào sheet thì mới nhập liệu đc.
3/ Chỉ có mấy dòng lệnh đơn giản, dung lượng file den 2Mbs, ko biết có dư thừa/ sai gi ko.
Thanks
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2