Quang_Hải
Thành viên gạo cội
- Tham gia
- 21/2/09
- Bài viết
- 6,070
- Được thích
- 7,992
- Nghề nghiệp
- Làm đủ thứ
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
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.
Nếu cần chèn code vào WorkBook ta áp dụng code này
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.
Hy vọng là bài viết hữu ích cho những bạn mới học VBA
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
PHP:
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
PHP:
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
PHP:
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
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.
PHP:
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
Lần chỉnh sửa cuối: