Tự động chèn code vào sheet của 1 File Excel

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Mình mở chủ đề này để giới thiệu cho các bạn nào quan tâm đến việc tự động chèn code vào 1 file excel nào đó.
Giả định trên file hiện tại có 1 sheet mang tên là "ABC", giờ ta muốn chèn code vào sheet này
Để phát triển thêm ta có thể thay ActiveWorkBook bằng tên của File ta cần chèn code

Sub add_code_to_existing_sheet()
Dim CodeLines As Long, sheetCode
sheetCode = ActiveWorkbook.Sheets("ABC").CodeName
With ActiveWorkbook.VBProject.VBComponents(sheetCode).CodeModule
CodeLines = .CountOfLines + 1
.InsertLines CodeLines, _
"Private Sub Worksheet_SelectionChange(ByVal Target As Range)" & Chr(13) & _
" MsgBox ""Code Created"" " & Chr(13) & _
"End Sub"
End With
End Sub

Ta cũng có thể tạo ra 1 sheet mới rồi chèn code vào sheet vừa được tạo bằng code bên dưới.

Sub add_code_to_NewSheet()
Dim CodeLines As Long
Sheets.Add
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
CodeLines = .CountOfLines + 1
.InsertLines CodeLines, _
"Private Sub Worksheet_SelectionChange(ByVal Target As Range)" & Chr(13) & _
" msgbox ""Code Created"" " & Chr(13) & _
"End Sub"
End With
End Sub

Nếu cần chèn code vào WorkBook ta áp dụng code này

Sub add_code_to_thisworkbook()
Dim CodeLines As Long
With ActiveWorkbook.VBProject.VBComponents("Thisworkbook").CodeModule
CodeLines = .CountOfLines + 1
.InsertLines CodeLines, _
"Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)" & Chr(13) & _
" msgbox ""Code Created"" " & Chr(13) & _
"End Sub"
End With
End Sub

Nếu cần thêm 1 module mới rồi chèn code vào module này thì ta làm như code bên dưới.
Chú ý: Để chèn được Module thì phải vào Tools, tìm và chọn mục Microsoft Visual Basic for Appliations extensibility 5.3
Hoặc khi viết code đến dòng ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule) thì Excel sẽ tự động hỏi mình có muốn chọn mục này hay không.

Sub Add_Module_and_Code()
Dim CodeLines As Long, VBComp
Set VBComp = ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule)
With ActiveWorkbook.VBProject.VBComponents(VBComp.Name).CodeModule
CodeLines = .CountOfLines + 1
.InsertLines CodeLines, _
"Sub Add_Module_and_Code" & Chr(13) & _
" msgbox ""Code Created"" " & Chr(13) & _
"End Sub"
End With
End Sub

Hy vọng là bài viết hữu ích cho những bạn mới học VBA

www.giaiphapexcel.com/diendan/threads/t%E1%BB%B1-%C4%91%E1%BB%99ng-ch%C3%A8n-code-v%C3%A0o-sheet-c%E1%BB%A7a-1-file-excel.80149/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 18 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm