Showing posts with label Hoc-tap. Show all posts
Showing posts with label Hoc-tap. Show all posts
Tìm hiểu VBA - Visual Basic For Applications

Tìm hiểu VBA - Visual Basic For Applications

Visual Basic For Applications cho phép người sử dụng một mức độ tùy biến xa hơn những gì là đặc trưng có sẵn trong các sản phẩm của Microsoft Office. Bạn có thể làm rất nhiều với Excel chỉ sử dụng các công thức nhưng đến một lúc khi bạn nhận thấy rằng mình đang làm một công việc tiêu chuẩn liên quan đến di chuyển hoặc sắp xếp dữ liệu và bạn không thể tìm thấy một cách dễ dàng để giảm nó vào một tập hợp các công thức. Thường thì nó chỉ là dễ dàng hơn để viết một chương trình tự động hóa các nhiệm vụ và Excel có một ngôn ngữ lập trình để dễ dàng sử dụng được xây dựng trong tất cả các phiên bản, VBA – Visual Basic cho các ứng dụng. VBA cho phép người sử dụng một mức độ tùy biến xa hơn những gì là đặc trưng có sẵn trong các sản phẩm Microsoft Office, chẳng hạn như Excel, Word và Power Point. Sử dụng các loại lệnh thành một module chỉnh sửa để tạo ra một Macro. Macros có thể cho phép người sử dụng một cách máy móc làm báo cáo tùy chỉnh, bảng xếp hạng và thực hiện các chức năng xử lý dữ liệu khác. Trong ngành công nghiệp tài chính, VBA Excel thường được sử dụng để cải thiện và duy trì mô hình bảng tính tài chính phức tạp. Bằng phương tiện của VBA, chúng ta có thể làm bất cứ điều gì gần như hình dung được với Excel. Microsoft Excel là một công cụ rất mạnh mẽ mà bạn có thể sử dụng để vận hành, phân tích và dữ liệu hiện tại. Mặc dù các tập hợp phong phú các tính năng trong giao diện người dùng chuẩn Excel, bạn có thể muốn tìm một cách dễ dàng hơn để thực hiện một thói quen, nhiệm vụ đơn điệu, hoặc để thực hiện một số nhiệm vụ mà giao diện người dùng dường như không giải quyết. Ngẫu nhiên, các ứng dụng văn phòng như Excel có Visual Basic cho các ứng dụng (VBA), một ngôn ngữ lập trình mà cung cấp cho bạn các thiết bị để lan truyền những ứng dụng. VBA hoạt động bằng cách thực hiện macro, step-by-step cách viết bằng Visual Basic. Nhiều người sử dụng khám phá ra rằng việc học thậm chí ở mức độ nhẹ của mã VBA làm cho công việc của họ dễ dàng hơn và cung cấp cho họ các kỹ năng để làm việc trong văn phòng mà họ đã không xem xét là có thể xảy ra. Một khi bạn đã học được một số VBA, nó quay ra được dễ dàng hơn nhiều để tìm hiểu rất nhiều đầy đủ nhiều hơn để các khách hàng tiềm năng ở đây là không giới hạn. Sử dụng VBA trong Excel là hệ thống hóa các nhiệm vụ lặp đi lặp lại. Ví dụ, bạn có một số lượng nhỏ các sách bài tập, trong số đó có một số lượng nhỏ các bảng và mỗi người trong những nhu cầu phải có một số thay đổi được thực hiện cho nó. Những thay đổi có thể đơn giản như việc áp dụng định dạng mới cho phạm vi cố định nhất định của tế bào hoặc khó khăn như nhìn vào một số tính năng đại số của các dữ liệu trên mỗi tờ, chọn loại tốt nhất của bảng xếp hạng để hiển thị dữ liệu với những đặc điểm, sau đó thực hiện và định dạng biểu đồ trong view đó.Một cách thay thế khác, nếu biết về VBA thì bạn có thể tự động hóa các nhiệm vụ bằng cách sử dụng VBA để viết lệnh rõ ràng cho Excel để theo. VBA Excel không chỉ dành cho các công việc đơn điệu. Bạn cũng có thể sử dụng VBA để xây dựng thành thạo với Excel ( bạn có thể tạo ra một công cụ mới để phân tích dữ liệu của bạn, sau đó sử dụng các khả năng biểu đồ trong Excel để hiển thị các kết quả) và để thực hiện các công việc lặt vặt có kết hợp với các ứng dụng của Office như Microsoft Access. Trong thực tế, tất cả các ứng dụng văn phòng Excel là được sử dụng giống với một nền tảng phát triển tổng thể. Hơn nữa để tất cả các nhiệm vụ có chứa danh sách và kế toán, các nhà thiết kế sử dụng Excel trong một loạt các nhiệm vụ từ dữ liệu trực quan để phần mềm tạo mẫu. Một số ứng dụng quan trọng của các macro: - Hiệu suất ổn định: giả sử ông chủ của bạn nói để làm báo cáo bán hàng vào cuối tháng và sau đó bạn có thể phát triển một chương trình trong excel. Bạn có thể hiển thị hiệu suất và sự xuất sắc báo cáo công việc hàng ngày của bạn với sự giúp đỡ của VBA. - Công việc lặp đi lặp lại và lệnh tùy chỉnh: nếu bạn có để thực hiện cùng một hành động được lặp lại nhiều lần trong excel thì bạn nên sử dụng các macro, bạn có thể làm cho công việc đơn điệu đó bằng một hoặc một số dòng lệnh duy nhất và bạn cũng có thể sửa đổi lệnh của bạn. Với sự giúp đỡ của vba công việc lặp đi lặp lại nhiều lần của bạn sẽ được thực hiện bằng dòng lệnh duy nhất do bạn viết ra. - Tạo thanh công cụ tùy chỉnh: Sử dụng macro và làm cho thanh công cụ tùy chỉnh của bạn với các điều khiển của riêng bạn trong excel. - VBA có thể được sử dụng để tính toán "phức tạp" cho một hoặc rất nhiều công việc của bạn.
Tự động kẻ khung cho ô dữ liệu trong excel bằng code VBA

Tự động kẻ khung cho ô dữ liệu trong excel bằng code VBA

Tạo một module có nội dung:
Sub ConditionalFormattingExample()
    'Khai bao vung dinh dang co dieu kien
    Dim MyRange As Range
    Set MyRange = Range("A1:B10")
    'Xoa dinh dang co dieu kien hien co
    MyRange.FormatConditions.Delete
 
    'Ap dung dinh dang co dieu kien
    MyRange.FormatConditions.Add Type:=xlExpression, Formula1:="=COUNTA(A1)>0"
    MyRange.FormatConditions(MyRange.FormatConditions.Count).SetFirstPriority
    With MyRange.FormatConditions(1).Borders()
        .LineStyle = xlContinuous
        .TintAndShade = 0
        .Weight = xlThin
    End With
End Sub
Thay A1:B10 bằng vùng muốn tự động kẻ khung cho ô có dữ liệu.
Unprotect All sheet in Excel

Unprotect All sheet in Excel

Khi dùng excel bạn bảo vệ sheet (Protect sheet) nhưng chẳng may quên mật khẩu bài viết này giúp bạn gỡ bỏ mật khẩu bảo vệ sheet (unprotect sheet) trong trường hợp này. Cách làm: - Mở trình soạn thảo VBA bằng cách vào Tab Developer > Visual Basic - Trong trình soạn thảo VBA vào Insert > Module - Paste đoạn code vba vào Module vừa tạo rồi bấn F5 trên bàn phím để thực thi đoạn code vba: Sub unprotectedAll() Dim i As Integer For i = 1 To Application.Sheets.Count PasswordBreaker Application.Sheets(i) Next End Sub Sub PasswordBreaker(MySheet) Dim pass As String If MySheet.ProtectContents = True Then Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 As Integer On Error Resume Next For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If ActiveSheet.ProtectContents = False Then MsgBox "One usable password is " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Exit Sub End If Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next End If End Sub Chúc bạn thành công!
Cải thiện tốc độ phản hồi của Macro VBA

Cải thiện tốc độ phản hồi của Macro VBA

Khi chạy một đoạn macro VBA bạn có thể thấy màn hình chớp nháy hoặc gặp hiện tượng đơ máy... bài viết này sẽ giúp bạn khắc phục được các hiện tượng trên giúp công việc của bạn mượt mà hơn ^-^. Đầu tiên các bạn tạo một Module có nội dung:
Public CalcState As Long Public EventState As Boolean Public PageBreakState As Boolean '//Tat bo mot thiet lap quan trong trong Office: tan dung bo nho may tinh de lien tuc cap nhat hoat dong cua macro len man hinh (theo thoi gian thuc) Sub OptimizeCode_Begin() Application.ScreenUpdating = False EventState = Application.EnableEvents Application.EnableEvents = False CalcState = Application.Calculation Application.Calculation = xlCalculationManual PageBreakState = ActiveSheet.DisplayPageBreaks ActiveSheet.DisplayPageBreaks = False End Sub '//========================================================== Sub OptimizeCode_End() ActiveSheet.DisplayPageBreaks = PageBreakState Application.Calculation = CalcState Application.EnableEvents = EventState Application.ScreenUpdating = True End Sub
Cách sử dụng: Khi các bạn viết macro thì cấu trúc sẽ như sau:
Sub YourMacro() '//Optimize Code Call OptimizeCode_Begin '//Bạn đặt macro bạn muốn sử dụng ở đây your macro code here... '//Optimize Code Call OptimizeCode_End End Sub
Chúc bạn thành công!
Hạch toán sau khi cơ quan thuế quyết toán - thanh tra

Hạch toán sau khi cơ quan thuế quyết toán - thanh tra

Căn cứ chuẩn mực kế toán số 17, Căn cứ chuẩn mực kế toán số 29,  Căn cứ vào thông tư 200/2014/TT-BTC, Căn cứ vào thông tư 133/2016/TT-BTC

Trường hợp sau khi cơ quan thuế thanh kiểm tra xong,  có quyết định phạt và truy thu thuế thì hạch toán như sau:

A. Truy thu thuế thu nhập doanh nghiệp.

1. Phản ánh thuế thu nhập doanh nghiệp phải nộp:

Nợ Tài khoản 821: Chi phí thuế thu nhập doanh nghiệp hiện hành

Có Tài khoản 3334: Thuế thu nhập doanh nghiệp phải nộp

2. Nộp thuế thu nhập doanh nghiệp vào ngân sách nhà nước:

Nợ Tài khoản 3334: Thuế thu nhập doanh nghiệp phải nộp

Có Tài khoản: 111/112: Tiền mặt/Tiền ngân hàng.

B. Truy thu thuế giá trị gia tăng.

1. Phản ánh thuế giá trị giá tăng truy thu bổ sung:

Nợ Tài khoản: 811: Chi phí khác

Có Tài khoản: 3331: Thuế giá trị gia tăng phải nộp

2. Nộp thuế giá trị gia tăng vào ngân sách nhà nước:

Nợ Tài khoản 3331: Thuế giá trị gia tăng phải nộp

Có Tài khoản: 111/112: Tiền mặt/Tiền ngân hàng.

C. Truy thu thuế thu nhập cá nhân.

1. Phản ánh thuế thu nhập cá nhân truy thu bổ sung:

Nợ Tài khoản: 811: Chi phí khác

Có Tài khoản: 3335: Thuế thu nhập cá nhân phải nộp

2. Nộp thuế thu nhập cá nhân vào ngân sách nhà nước:

Nợ Tài khoản 3335: Thuế thu nhập cá nhân phải nộp

Có Tài khoản: 111/112: Tiền mặt/Tiền ngân hàng.

D. Tiền phạt, tiền chậm nộp.

1. Phản ánh tiền phạt, tiền chậm nộp:

Nợ Tài khoản: 811: Chi phí khác

Có Tài khoản: 3339: Phí, lệ phí và các khoản phải nộp khác

2. Nộp tiền phạt, chậm nộp vào ngân sách nhà nước:

Nợ Tài khoản 3339: Phí, lệ phí và các khoản phải nộp khác

Có Tài khoản: 111/112: Tiền mặt/Tiền ngân hàng.

E. Điều chỉnh tăng, giảm và hạch toán tiền thuế giá trị giá tăng được khấu trừ

1. Điều chỉnh tăng thuế giá trị gia tăng được khấu trừ

Gõ vào chỉ tiêu 38 của tờ khai hiện hành ( Số tiền thuế giá trị gia tăng điều chỉnh tăng theo quyết định thanh kiểm tra)

2. Điều chỉnh giảm thuế giá trị gia tăng được khấu trừ

Gõ vào chỉ tiêu 37 của tờ khai hiện hành ( Số tiền thuế giá trị gia tăng điều chỉnh giảm theo quyết định thanh kiểm tra)

3. Hạch toán giảm thuế giá trị gia tăng được khấu trừ

Nợ Tài khoản 811 ( hoặc Tài khoản 4211) Có Tài khoản 1331

4. Hạch toán tăng thuế giá trị gia tăng phải nộp vào ngân sách nhà nước

Nợ Tài khoản 811 (hoặc Tài khoản 4211) Có Tài khoản 33311

F. Điều chỉnh giảm lỗ theo biên bản quyết toán

Không có hạch toán gì cả, chỉ theo dõi là số lỗ được chuyển theo tờ khai quyết toán thuế TNDN bây giờ là theo số biên bản, quyết định thanh tra, kiểm tra thuế ( Kế toán thuế Hà Vân vẫn giữ nguyên lỗ theo kế toán)

Lưu ý:

- Chi phí các khoản thuế,  phạt này vẫn kết chuyển tính kết quả kinh doanh bình thường, nhưng khi lập tờ khai quyết toán thuế TNDN thì gõ vào chỉ tiêu B4 nhé.

- Trong những trường hợp không ảnh hưởng có thể dùng Tài khoản 4211 để hạch toán như một vài cơ quan thuế đã hướng dẫn, tuy nhiên cần xem xét tính chất của kế toán, kẻo ảnh hưởng mà không biết.

 

Share Office 2016 32bit Activation cmd

Share Office 2016 32bit Activation cmd

 Share Office 2016 32bit kick hoạt bản quyền bằng cmd Tải về password giải nén: 1

Sau khi giải nén sẽ có file office-2016_pro-32bit[saoleloi.com].rar và Activation.Script.v1.4.cmd.

giải nén file office-2016_pro-32bit[saoleloi.com].rar chạy file setup.exe để cài đặt. Sau khi cài đặt xong chạy file Activation.Script.v1.4.cmd với quyền administrator để chạy tool kick hoạt bản quyền. (Link dự phòng)


Bấm số 4 trên bàn phím để Activation office.


Bấm số 1 để Activation. Đợi chương trình chạy...


Dòng Product Activation Successfule xuất hiện là bạn đã Activation office 16 thành công.

Nhấn phím bất kỳ để thoát về:


Nhấn phím số 4 để trở về Main menu. Sau đó nhấn phím số 9 để Exit (thoát khỏi chương trình)


Ẩn TitleBar userform trong vba excel

Ẩn TitleBar userform trong vba excel

 Cách ẩn TitleBar của Userform, nhiều khi bạn muốn ẩn Button close mặc định của userform để nhìn cho nó ngầu :) thì bài này cũng sẽ giúp bạn thực hiện được điều đó luôn.

Giờ bắt đầu thôi, đầu tiên bạn tạo một Module  có nội dung như sau:


Option Explicit
Option Private Module

Public Const GWL_STYLE = -16
Public Const WS_CAPTION = &HC00000
#If VBA7 Then
Public Declare PtrSafe Function GetWindowLong _
Lib "user32" Alias "GetWindowLongA" ( _
ByVal hWnd As LongPtr, _
ByVal nIndex As Long) As Long
Public Declare PtrSafe Function SetWindowLong _
Lib "user32" Alias "SetWindowLongA" ( _
ByVal hWnd As LongPtr, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Declare PtrSafe Function DrawMenuBar _
Lib "user32" ( _
ByVal hWnd As LongPtr) As Long
Public Declare PtrSafe Function FindWindowA _
Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr
#Else
Public Declare Function GetWindowLong _
Lib "user32" Alias "GetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong _
Lib "user32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar _
Lib "user32" ( _
ByVal hWnd As Long) As Long
Public Declare Function FindWindowA _
Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
#End If

Sub HideTitleBar(frm As Object)
#If VBA7 Then
Dim lFrmHdl As LongPtr
#Else
Dim lFrmHdl As Long
#End If
Dim lngWindow As Long
lFrmHdl = FindWindowA(vbNullString, frm.Caption)
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
End Sub

Sub ShowTitleBar(frm As Object)
#If VBA7 Then
Dim lFrmHdl As LongPtr
#Else
Dim lFrmHdl As Long
#End If
Dim lngWindow As Long
lFrmHdl = FindWindowA(vbNullString, frm.Caption)
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow + (WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
End Sub

sau đó trong userform bạn chỉ cần dùng đoạn code dưới đây để thực thi câu lệnh trong Module mà bạn vừa tạo ở trên:

Private Sub UserForm_Initialize()
HideTitleBar Me
End Sub
Chú ý:Trong Userform của bạn cần tạo một CommandButton để Close from có nội dung:

Private Sub CommandButton1_Click()
Unload Me
End Sub
Hehe giờ thì tận hưởng sự ngầu của bạn đi nào.