Đóng toàn bộ ứng dụng và tắt máy tính bằng VBA!

Liên hệ QC

HeSanbi

Nam Nhân✨Hiếu Lễ Nghĩa Trí Tín✨
Tham gia
24/2/13
Bài viết
2,591
Được thích
3,991
Giới tính
Nam
Share mọi người code đóng toàn bộ ứng dụng , save file excel rồi tắt PC sau vài giây trong một cú click

Chạy: Call remote_pc_LRS (3, True, 15)
Để Hủy Shutdown:
Cách 1. Call remote_pc_LRS (code vào Workbook_AfterOpen, mở lại Workbook tự động hủy shutdown)
Cách 2. mở hộp thoại Run (Phím Window + R) gõ: shutdown -a

Chương trình gồm có:
1. Sub remote_pc_LRS gồm 3 biến:
- state: giá trị 1 là logout, 2 là restart, 3 là shutdown, giá trị khác là hủy tắc PC
- actionYes: True - Thực hiện ngay / False - hỏi xem có muốn tắt không
- num: số giây hẹn thực hiện

2. Function arrayAppSYS: là một mảng chứa các chương trình sẽ không đóng các ứng dụng này
Nếu muốn không đóng một chương trình nào đó, hãy thêm vào array

3. Function quit_app_running : dùng để dóng chương trình
True: đóng không cần hỏi/ False: hỏi trước khi đóng

4. Function close_excel gồm 2 biến:
- saveAll: True - save tất cả các workbook / False - Save file đang chỉnh sữa
- closeOK: True - đóng ứng dụng không hỏi/ False - hỏi trước khi đóng ứng dụng

Lưu Ý: Nhớ sao lưu file của các ứng dụng khác. Nhỡ Run tay thì hãy thử nó khi PC vừa mở, vào Excel và ấn Thử.
Đã quen tay cứ ấn thõa thích.

PHP:
#If VBA7 Then
  Public Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
  Public Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#Else
  Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
  Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#End If
Sub close_FileEXPLORER()
    Dim lExplhwnd As Long
    lExplhwnd = FindWindow("CabinetWClass", vbNullString) ' "ExploreWClass"'
    If lExplhwnd Then
        SendMessage lExplhwnd, &H112, &HF060&, ByVal 0&
    End If
End Sub

Sub CloseAllWorkbooks()
    Dim wb As Workbook
    For Each wb In Workbooks
        wb.Close False 'True -> Save
    Next wb
End Sub

Sub test_close_excel()
    close_excel  , True
End Sub
 
Function close_excel(Optional save As Boolean = True, _
                       Optional closeOK As Boolean = False)
    ThisWorkbook.save
    Call close_FileEXPLORER
    Call quit_app_running(closeOK)
    Application.DisplayAlerts = False
      Application.Quit
      ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True
  End Function

    Function arrayAppSYS(Optional toArray2D As Boolean) As Variant
        Dim m, dArr() As Variant, k: k = 0
        arrayAppSYS = Array("ApplicationFrameHost.exe", "audiodg.exe", "backgroundTaskHost.exe", "CCleaner64.exe", "CocCocCrashHandler.exe", "CocCocUpdate.exe", "conhost.exe", "csrss.exe", "ctfmon.exe", "dllhost.exe", "dwm.exe", "explorer.exe", _
                            "fontdrvhost.exe", "fsnotifier64.exe", "GoogleCrashHandler.exe", "GoogleCrashHandler64.exe", "googledrivesync.exe", "gxxsvc.exe", "jusched.exe", "LockApp.exe", "lsass.exe", "Microsoft.Mashup.Container.NetFX40.exe", "MSASCuiL.exe", _
                            "nvcontainer.exe", "NVDisplay.Container.exe", "NVIDIA Web Helper.exe", "NvTelemetryContainer.exe", "obs-browser-page.exe", "OpenWith.exe", _
                            "RemindersServer.exe", "RemoteServerWin.exe", "RtkNGUI64.exe", "RuntimeBroker.exe", "SearchFilterHost.exe", "SearchIndexer.exe", _
                            "SearchProtocolHost.exe", "SearchUI.exe", "SecurityHealthService.exe", "services.exe", "SettingSyncHost.exe", "SgrmBroker.exe", "ShellExperienceHost.exe", "sihost.exe", "smss.exe", "SMSvcHost.exe", _
                            "spoolsv.exe", "sqlwriter.exe", "SteamService.exe", "steamwebhelper.exe", "svchost.exe", "SystemSettingsBroker.exe", "taskhostw.exe", "TeamViewer_Service.exe", "TiltWheelMouse.exe", "tv_w32.exe", _
                            "tv_x64.exe", "UniKeyNT.exe", "UnrealCEFSubProcess.exe", "update_notifier.exe", "wininit.exe", "winlogon.exe", "WmiPrvSE.exe", "WsxService.exe")
        If toArray2D Then
            ReDim dArr(1 To UBound(arrayAppSYS) + 1, 1 To 1)
            For Each m In arrayAppSYS
                k = k + 1
                dArr(k, 1) = m
            Next
            arrayAppSYS = dArr
        End If
    End Function
Sub test_quit_app_running()
    If quit_app_running Then Debug.Print 2
End Sub
    Function quit_app_running(Optional ByVal bool As Boolean) As Boolean
        Dim question
        If Not bool Then question = MsgBox("Close Application Running?", 3): If question <> vbYes Then Exit Function
        Dim objWMIcimv2 As Object, objProcess As Object, objList As Object, intError As Integer
        Dim  dArr
        With MyPC

            Set objWMIcimv2 = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
            Set objList = objWMIcimv2.ExecQuery("select * from win32_process")
            For Each objProcess In objList
                On Error Resume Next
                If objProcess.Name Like "*" & ".exe" Then
                    dArr = Application.Match(objProcess.Name, arrayAppSYS, False)
                    If dArr Is Nothing Then
                        On Error Resume Next
                        intError = objProcess.Terminate
                        If intError <> 0 Then Debug.Print objProcess.Name
                    End If
                End If
            Next
        End With
        quit_app_running = True
        Set objWMIcimv2 = Nothing
        Set objList = Nothing
        Set sArr = Nothing
        Set dArr = Nothing
    End Function
    Sub remote_pc_LRS(Optional ByVal state As Integer, _
                                Optional ByVal actionYes As Boolean = False, _
                                Optional num As Integer = 10)
        Dim Result
        Shell "shutdown -a", vbHide
        If state <> 0 And Not actionYes Then
             Result = MsgBox("Shutdown PC?", 3)
        End If
        If Result = vbYes Or actionYes Then
            If state = 1 Then
    Dim xWb As Workbook
    For Each xWb In Application.Workbooks
        If Not xWb.ReadOnly And Windows(xWb.Name).Visible Then
            xWb.Save
        End If
    Next
ThisWorkbook.save
Shell "shutdown -l", vbHide
end if
            If state = 2 Then Shell "shutdown -r -t " & num, vbHide
            If state = 3 Then Shell "shutdown -s -t " & num, vbHide
            close_excel , True
        End If
    End Sub
 
Lần chỉnh sửa cuối:
Share mọi người code đóng toàn bộ ứng dụng , save file excel rồi tắt PC sau vài giây trong một cú click

Chạy: Call remote_pc_LRS (3, True, 15)
Để Hủy Shutdown:
1. Call remote_pc_LRS (code vào Workbook_AfterOpen, mở lại Workbook tự động hủy shutdown)
2. mở hộp thoại Run (Phím Window + R) gõ: shutdown -a


Chương trình gồm có:
1. Sub remote_pc_LRS gồm 3 biến:
- state: giá trị 1 là logout, 2 là restart, 3 là shutdown, giá trị khác là hủy tắc PC
- actionYes: True - Thực hiện ngay / False - hỏi xem có muốn tắt không
- num: số giây hẹn thực hiện


2. Function arrayAppSYS: là một mảng chứa các chương trình sẽ không đóng các ứng dụng này
Nếu muốn không đóng một chương trình nào đó, hãy thêm vào array


3. Function quit_app_running : dùng để dóng chương trình
True: đóng không cần hỏi/ False: hỏi trước khi đóng


4. Function close_excel gồm 2 biến:
- saveAll: True - save tất cả các workbook / False - Save file đang chỉnh sữa
- closeOK: True - đóng ứng dụng không hỏi/ False - hỏi trước khi đóng ứng dụng


Lưu Ý: Nhớ sao lưu file của các ứng dụng khác. Nhỡ Run tay thì hãy thử nó khi PC vừa mở, vào Excel và ấn Thử.
Đã quen tay cứ ấn thõa thích.

Mã:
Sub test_close_excel()
    close_excel  , True
End Sub
    Function close_excel(Optional saveAll As Boolean = False, _
                         Optional closeOK As Boolean = False)
        If closeOK Then quit_app_running (True) Else quit_app_running
        If saveAll  Then
    Dim xWb As Workbook
    For Each xWb In Application.Workbooks
        If Not xWb.ReadOnly And Windows(xWb.Name).Visible Then
            xWb.Save
        End If
    Next
else
ThisWorkbook.save
        end if
if not ThisWorkbook.saved then ThisWorkbook.save
        Application.DisplayAlerts = False
            Application.Quit
            ActiveWorkbook.Close savechanges:=False
        Application.DisplayAlerts = True
    End Function

    Function arrayAppSYS(Optional toArray2D As Boolean) As Variant
        Dim m, dArr() As Variant, k: k = 0
        arrayAppSYS = Array("ApplicationFrameHost.exe", "audiodg.exe", "backgroundTaskHost.exe", "CCleaner64.exe", "CocCocCrashHandler.exe", "CocCocUpdate.exe", "conhost.exe", "csrss.exe", "ctfmon.exe", "dllhost.exe", "dwm.exe", "explorer.exe", _
                            "fontdrvhost.exe", "fsnotifier64.exe", "GoogleCrashHandler.exe", "GoogleCrashHandler64.exe", "googledrivesync.exe", "gxxsvc.exe", "jusched.exe", "LockApp.exe", "lsass.exe", "Microsoft.Mashup.Container.NetFX40.exe", "MSASCuiL.exe", _
                            "nvcontainer.exe", "NVDisplay.Container.exe", "NVIDIA Web Helper.exe", "NvTelemetryContainer.exe", "obs-browser-page.exe", "OpenWith.exe", _
                            "RemindersServer.exe", "RemoteServerWin.exe", "RtkNGUI64.exe", "RuntimeBroker.exe", "SearchFilterHost.exe", "SearchIndexer.exe", _
                            "SearchProtocolHost.exe", "SearchUI.exe", "SecurityHealthService.exe", "services.exe", "SettingSyncHost.exe", "SgrmBroker.exe", "ShellExperienceHost.exe", "sihost.exe", "smss.exe", "SMSvcHost.exe", _
                            "spoolsv.exe", "sqlwriter.exe", "SteamService.exe", "steamwebhelper.exe", "svchost.exe", "SystemSettingsBroker.exe", "taskhostw.exe", "TeamViewer_Service.exe", "TiltWheelMouse.exe", "tv_w32.exe", _
                            "tv_x64.exe", "UniKeyNT.exe", "UnrealCEFSubProcess.exe", "update_notifier.exe", "wininit.exe", "winlogon.exe", "WmiPrvSE.exe", "WsxService.exe")
        If toArray2D Then
            ReDim dArr(1 To UBound(arrayAppSYS) + 1, 1 To 1)
            For Each m In arrayAppSYS
                k = k + 1
                dArr(k, 1) = m
            Next
            arrayAppSYS = dArr
        End If
    End Function
Sub test_quit_app_running()
    If quit_app_running Then Debug.Print 2
End Sub
    Function quit_app_running(Optional ByVal bool As Boolean) As Boolean
        Dim question
        If Not bool Then question = MsgBox("Close Application Running?", 3): If question <> vbYes Then Exit Function
        Dim objWMIcimv2 As Object, objProcess As Object, objList As Object, intError As Integer
        Dim sArr As Range, dArr As Range
        With MyPC

            Set objWMIcimv2 = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
            Set objList = objWMIcimv2.ExecQuery("select * from win32_process")
            For Each objProcess In objList
                On Error Resume Next
                If objProcess.Name Like "*" & ".exe" Then
                    Set dArr = Application.Match(objProcess.Name, arrayAppSYS, False)
                    If dArr Is Nothing Then
                        On Error Resume Next
                        intError = objProcess.Terminate
                        If intError <> 0 Then Debug.Print objProcess.Name
                    End If
                End If
            Next
        End With
        quit_app_running = True
        Set objWMIcimv2 = Nothing
        Set objList = Nothing
        Set sArr = Nothing
        Set dArr = Nothing
    End Function
    Sub remote_pc_LRS(Optional ByVal state As Integer, _
                                Optional ByVal actionYes As Boolean = False, _
                                Optional num As Integer = 10)
        Dim Result
        Shell "shutdown -a", vbHide
        If state <> 0 And Not actionYes Then
             Result = MsgBox("Shutdown PC?", 3)
        End If
        If Result = vbYes Or actionYes Then
            If state = 1 Then Shell "shutdown -l", vbHide
            If state = 2 Then Shell "shutdown -r -t " & num, vbHide
            If state = 3 Then Shell "shutdown -s -t " & num, vbHide
            close_excel , True
        End If
    End Sub

Máy khởi động lâu lắm nên để chiều về rồi thử.
 
Upvote 0
Laptop của tôi chạy windows 10, chỉ cần đóng nắp cái là xong hết, không cần code nào cả
Có nhiều trường hợp tắt máy thầy ơi. Tắt mà các ứng dụng chưa Save tại màn hình tắt nó hỏi có đóng các ứng dụng này không. trả lời nó mới chịu tắt. nếu tắt máy mà không đóng ứng dụng, Khởi động pc thì ứng dụng Startup. Nếu đón mò chắc nó còn lưu ứng dụng trên Ram
 
Upvote 0
Tự dưng giao cho đầu bếp làm công việc của bảo vệ.
Nếu cần giảm biên chế thì giảm đầu bếp chứ tại sao lại giảm bảo vệ? Giá đầu bếp mắc hơn bảo vệ mờ.
Viết 1 cái code Powershell, đặt một ai con ở tát ba là xong. Rườm rà nốt nhạc với nhà hát giao hưởng.
 
Upvote 0
Các bác ơi em mày mò chế ra cái code này nhưng mà nó không hoạt động, các bác có thể chỉ ra cho em hiểu thêm rằng là em đã sai ở đâu trong đoạn code này mà nó không hoạt động được không ạ ?

Đoạn code cũng ngắn thôi, có vài dòng nhưng mà vấn đề là em ấn Runsub/UserFrom (F5) ở cửa sổ lập trình VBA thì mã mới chạy, còn trở về File excel nó lại không chạy @@ trong khi các ô trong excel đều đã thỏa mãn điều kiện.

Đoạn mã đây ạ:

' ‘*******************SHUT DOWN*********************
Public Function TurnOff()
If [C2].Text = [E2].Text Then
Shell "shutdown -s -t 02", vbHide
End If
End Function

Còn đây là File ạ:




Đội ơn các bác.
 

File đính kèm

  • Kiểm soát.xlsm
    110.9 KB · Đọc: 10
Upvote 0
Các bác ơi em mày mò chế ra cái code này nhưng mà nó không hoạt động, các bác có thể chỉ ra cho em hiểu thêm rằng là em đã sai ở đâu trong đoạn code này mà nó không hoạt động được không ạ ?

Đoạn code cũng ngắn thôi, có vài dòng nhưng mà vấn đề là em ấn Runsub/UserFrom (F5) ở cửa sổ lập trình VBA thì mã mới chạy, còn trở về File excel nó lại không chạy @@ trong khi các ô trong excel đều đã thỏa mãn điều kiện.

Đoạn mã đây ạ:

' ‘*******************SHUT DOWN*********************
Public Function TurnOff()
If [C2].Text = [E2].Text Then
Shell "shutdown -s -t 02", vbHide
End If
End Function

Còn đây là File ạ:




Đội ơn các bác.
Tại sao lại Function nhỉ? Lẽ ra phải là Sub chứ!
 
Upvote 0
em đã thử lại bằng sub nhưng vẫn không được ạ. Vẫn chỉ ấn F5 bên cửa sổ lập trình VBA được thôi ạ. Còn về bên excel 2 ô thoả mãn điều kiện nhưng enter nó vẫn không nhận (không có gì xảy ra)
 
Upvote 0
em đã thử lại bằng sub nhưng vẫn không được ạ. Vẫn chỉ ấn F5 bên cửa sổ lập trình VBA được thôi ạ. Còn về bên excel 2 ô thoả mãn điều kiện nhưng enter nó vẫn không nhận (không có gì xảy ra)

=TurnOff(A1, B1)
Tốt nhất là dùng mã ở trên nhé bạn, lệnh Shutdown sẽ không tắt ở một số trường hợp, nên tôi mới viết ra mã đó.

xóa dòng lệnh Shell thay thành remote_pc_LRS 3, Yes, 2

JavaScript:
#If VBA7 Then
  Private Declare PtrSafe Function SetTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr, ByVal uElapse As LongPtr, ByVal lpTimerFunc As LongPtr) As Long
  Private Declare PtrSafe Function KillTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr) As Long
#Else
  Private Declare Function SetTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  Private Declare Function KillTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
#End If

Public Function TurnOff(ByVal value1$, ByVal value2$) As Boolean
  If value1 = value2 Then
    TurnOff = True
    Call SetTimer(0&, 0&, 0&, AddressOf TimerProc_TurnOff)
  End If
End Function

#If VBA7 And Win64 Then
Private Sub TimerProc_TurnOff(ByVal hwnd As LongPtr, ByVal wMsg^, ByVal IdEvent As LongPtr, ByVal dwTime^)
#ElseIf VBA7 Then
Private Sub TimerProc_TurnOff(ByVal hwnd As LongPtr, ByVal wMsg&, ByVal IdEvent As LongPtr, ByVal dwTime&)
#Else
Private Sub TimerProc_TurnOff(ByVal hwnd&, ByVal wMsg&, ByVal IdEvent&, ByVal dwTime&)
#End If
  On Error Resume Next
  KillTimer 0&, IdEvent
  ThisWorkbook.Save
  Shell "shutdown -s -t 2", vbHide
  On Error GoTo 0
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
=TurnOff(A1, B1)
Tốt nhất là dùng mã ở trên nhé bạn, lệnh Shutdown sẽ không tắt ở một số trường hợp, nên tôi mới viết ra mã đó.

xóa dòng lệnh Shell thay thành remote_pc_LRS 3, Yes, 2

JavaScript:
#If VBA7 Then
  Private Declare PtrSafe Function SetTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr, ByVal uElapse As LongPtr, ByVal lpTimerFunc As LongPtr) As Long
  Private Declare PtrSafe Function KillTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr) As Long
#Else
  Private Declare Function SetTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  Private Declare Function KillTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
#End If

Public Function TurnOff(ByVal value1$, ByVal value2$) As Boolean
  If value1 = value2 Then
    TurnOff = True
    Call SetTimer(0&, 0&, 0&, AddressOf TimerProc_TurnOff)
  End If
End Function

#If VBA7 And Win64 Then
Private Sub TimerProc_TurnOff(ByVal hwnd As LongPtr, ByVal wMsg^, ByVal IdEvent As LongPtr, ByVal dwTime^)
#ElseIf VBA7 Then
Private Sub TimerProc_TurnOff(ByVal hwnd As LongPtr, ByVal wMsg&, ByVal IdEvent As LongPtr, ByVal dwTime&)
#Else
Private Sub TimerProc_TurnOff(ByVal hwnd&, ByVal wMsg&, ByVal IdEvent&, ByVal dwTime&)
#End If
  On Error Resume Next
  KillTimer 0&, IdEvent
  ThisWorkbook.Save
  Shell "shutdown -s -t 2", vbHide
  On Error GoTo 0
End Sub
Bác ơi cái này cao quá em mới lớp mầm, bác có thể viết hộ em cái code vào file kia để em ngâm cứu không ạ. Đội ơn bác
 
Upvote 0
=TurnOff(A1, B1)
Tốt nhất là dùng mã ở trên nhé bạn, lệnh Shutdown sẽ không tắt ở một số trường hợp, nên tôi mới viết ra mã đó.

xóa dòng lệnh Shell thay thành remote_pc_LRS 3, Yes, 2

JavaScript:
#If VBA7 Then
  Private Declare PtrSafe Function SetTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr, ByVal uElapse As LongPtr, ByVal lpTimerFunc As LongPtr) As Long
  Private Declare PtrSafe Function KillTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr) As Long
#Else
  Private Declare Function SetTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  Private Declare Function KillTimer Lib "user32" (ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
#End If

Public Function TurnOff(ByVal value1$, ByVal value2$) As Boolean
  If value1 = value2 Then
    TurnOff = True
    Call SetTimer(0&, 0&, 0&, AddressOf TimerProc_TurnOff)
  End If
End Function

#If VBA7 And Win64 Then
Private Sub TimerProc_TurnOff(ByVal hwnd As LongPtr, ByVal wMsg^, ByVal IdEvent As LongPtr, ByVal dwTime^)
#ElseIf VBA7 Then
Private Sub TimerProc_TurnOff(ByVal hwnd As LongPtr, ByVal wMsg&, ByVal IdEvent As LongPtr, ByVal dwTime&)
#Else
Private Sub TimerProc_TurnOff(ByVal hwnd&, ByVal wMsg&, ByVal IdEvent&, ByVal dwTime&)
#End If
  On Error Resume Next
  KillTimer 0&, IdEvent
  ThisWorkbook.Save
  Shell "shutdown -s -t 2", vbHide
  On Error GoTo 0
End Sub
Bác ơi, bác giúp em với. Em đang cố làm ra 1 cái bảng mà khi 1 dòng dữ liệu bất kỳ ở cột "C" tại sheet "TONG-HOP " = "TATMAY" thì VBA sẽ tự động kick hoạt lệnh tắt máy. Chỉ vậy thôi ạ, em đã mò thử các cách như tiền bối chỉ (copy và paste từng đoạn mã) nhưng mà code nó vẫn không hoạt động. Nếu có đoạn code nào đó hoạt động, nó chỉ hoạt động khi mình mở cửa sổ lập trình VBA và ấn run, chứ nó vẫn không tự chạy khi ở bên sheet "TONG - HOP" thỏa mãn điều kiện "TATMAY".

Đội ơn bác.
 
Upvote 0
Bác ơi, bác giúp em với. Em đang cố làm ra 1 cái bảng mà khi 1 dòng dữ liệu bất kỳ ở cột "C" tại sheet "TONG-HOP " = "TATMAY" thì VBA sẽ tự động kick hoạt lệnh tắt máy. Chỉ vậy thôi ạ, em đã mò thử các cách như tiền bối chỉ (copy và paste từng đoạn mã) nhưng mà code nó vẫn không hoạt động. Nếu có đoạn code nào đó hoạt động, nó chỉ hoạt động khi mình mở cửa sổ lập trình VBA và ấn run, chứ nó vẫn không tự chạy khi ở bên sheet "TONG - HOP" thỏa mãn điều kiện "TATMAY".

Đội ơn bác.
Đơn giản là vầy thôi

https://www.giaiphapexcel.com/diendan/threads/138486/#post-1067141
 
Lần chỉnh sửa cuối:
Upvote 0
Chạy được hay không thôi chứ chưa đến mức thì hiểu làm gì. Tôi còn chưa hiểu được.
Không xài được bác ơi, có hiểu gì đâu, ấn như nào nó cũng tự tắt đâu, em thay đổi các giá trị từ 1 tới 10 ở cả 2 ô mà chẳng có chuyện gì xảy ra cả ạ
 
Upvote 0
Web KT

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

Back
Top Bottom