Workbook trong excel là gì

Cách áp dụng workbook vào VBA là như vậy nào? Lợi ích của câu hỏi sử dụng workbook? Ngay tiếp sau đây, Học Excel Online đang cung ứng hướng dẫn tương đối đầy đủ nhằm thực hiện đối tượng workbook vào VBA

Bảng chỉ dẫn nkhô hanh về workbook trong VBA

Tác vụCách thực hiện
Truy cập workbook sẽ mngơi nghỉ bằng tênWorkbooks(“Example.xlsx”)
Truy cập workbook đã msinh sống (sổ được khởi đầu tiên)Workbooks(1)
Truy cập workbook đang msống (sổ được msinh sống sau cùng)Workbooks(Workbooks.Count)
Truy cập workbook đang hoạt độngActiveWorkbook
Truy cập workbook tất cả cất mã VBAThisWorkbook
Knhị báo một phát triển thành workbookDim wk As Workbook
Gán một đổi mới workbookSet wk = Workbooks ( “Example.xlsx” )Set wk = ThisWorkbookSet wk = Workbooks (1)
Kích hoạt workbookwk.Activate
Đóng workbook nhưng ko lưuwk.C Cthất bại SaveChanges: = False
Đóng workbook với lưuwk.C Cthảm bại SaveChanges: = True
Tạo workbook mớiSet wk = Workbooks.Add
Mở workbookSet wk = Workbooks.Open 

( “C:Docs Example.xlsx” )

Mở workbook sống dạng chỉ đọcSetwk=Workbooks.Open (“C:DocsExample.xlsx”, ReadOnly:=True)
Kiểm tra workbook tồn tạiIf Dir(“C:Docsook1.xlsx”) = “” Then


*

*

MsgBox “File does not exist.”

EndIf

Kiểm tra workbook sẽ mởXem phần bên dưới vào bài
Liệt kê toàn bộ các workbook đã mởFor Each wk In Application.Workbooks

Debug.Print wk.Quý khách hàng đã xem: Workbook vào excel là gì

FullName

Next wk

Msinh hoạt workbook bởi Hộp thoại TệpXem phần này nghỉ ngơi ngôn từ mặt dưới
Lưu workbookwk.Save
Lưu phiên bản sao workbookwk.SaveCopyAs “C:Copy.xlsm”
Sao chxay workbook trường hợp sẽ đóngFileCopy “C:file1.xlsx” , “C:Copy.xlsx”
SaveAs Workbookwk.SaveAs “Backup.xlsx”

Bắt đầu với đối tượng người dùng Workbook vào VBA

Chúng ta rất có thể truy vấn ngẫu nhiên workbook bằng phương pháp áp dụng mã Workbooks (“Example.xlsm”), chỉ cần thay thế Example.xlsm bằng tên của workbook mà bạn có nhu cầu sử dụng.

Bạn đang xem: Workbook trong excel là gì

lấy ví dụ dưới đây hướng dẫn giải pháp ghi dữ liệu worksheet trong VBA, họ phải hướng đẫn workbook, worksheet và vùng dữ liệu.

" https://excelmacromastery.com/Public Sub WriteToA1() " Writes 100 to cell A1 of worksheet "Sheet1" in MyVBA.xlsmWorkbooks("MyVBA.xlsm").Worksheets("Sheet1").Range("A1") = 100End SubPhần thứ nhất là workbook, phần máy hai là worksheet với phần thiết bị 3 là range (vùng dữ liệu). Dưới đó là ví dụ không giống giải pháp ghi vào ô:

Chúng ta hoàn toàn có thể ghi vào ngẫu nhiên ô như thế nào vào bất kỳ worksheet từ workbook. Bạn chỉ cần chuyển đổi thương hiệu workbook, tên worksheet cùng vùng dữ liệu cân xứng cùng với đòi hỏi của chính mình,

" https://excelmacromastery.com/Public Sub WriteToMulti()" Writes 100 to cell A1 of worksheet "Sheet1" in MyVBA.xlsmWorkbooks("MyVBA.xlsm").Worksheets("Sheet1").Range("A1") = 100" Writes "John" lớn cell B1 of worksheet "Sheet1" in MyVBA.xlsmWorkbooks("MyVBA.xlsm").Worksheets("Sheet1").Range("B1") = "John"" Writes 100 to lớn cell A1 of worksheet "Accounts" in MyVBA.xlsmWorkbooks("MyVBA.xlsm").Worksheets("Accounts").Range("A1") = 100" Writes the date to lớn cell D3 of worksheet "Sheet2" in Book.xlscWorkbooks("Book.xlsx").Worksheets("Sheet2").Range("D3") = "116"End SubXem xét workbook sau đây:

Workbooks("Example.xlsx")Workbooks là bộ sưu tầm toàn bộ những workbook. Để truy vấn vào workbook chúng ta bắt buộc cung ứng thương hiệu workbook đến tủ chứa đồ workbooks. khi xác định đối tượng người dùng họ sử dụng nó để thực hiện các tác vụ với workbook.

Khắc phục sự cố kỉnh tủ đựng đồ workbooks

lúc bạn sử dụng tủ đồ workbooks nhằm truy cập workbook có thể đã lộ diện lỗi.

Run-time Error 9: Subscript out of Range.

Điều này có nghĩa VBA không kiếm thấy workbook bạn đang truyền dưới dạng tđê mê số. cũng có thể bởi những nguyên nhân sau:

Workbook bao gồm sự việc.Tên bất ổn.quý khách hàng chế tạo workbook thao tác mới (ví dụ: Book1) tuy thế quên lưu thương hiệu và kế tiếp cố gắng truy vấn nó bởi workbooks.(“Book1.xlsx”) .(Dành mang lại Excel 2007/2010). Nếu bạn chạy nhì phiên bản Excel thì Workbooks() chỉ tsay đắm chiếu mang lại những workbook vẫn mở hiện tại.quý khách hàng truyền một trong những để triển khai Index(chỉ mục) cho những workbook với nó lớn hơn con số workbook đang mnghỉ ngơi, ví dụ: chúng ta thực hiện workbook(3) nhưng thực tiễn chỉ tất cả 2 workbook sẽ mngơi nghỉ. 

Nếu quan trọng giải pháp xử lý lỗi hãy thực hiện các công dụng vào phần “Finding all open workbooks” ( kiếm tìm tất workbook trong tủ đựng đồ workbooks) với chúng đã xuất thương hiệu của tất cả những workbook sẽ mlàm việc vào Immediate window (Ctrl+G).

Các ví dụ sử dụng workbook vào VBA

Lưu ý: để test ví dụ này, chúng ta sẽ tạo hai workbook mang tên là Test.xlsx với Test2.xlsx.

" https://excelmacromastery.com/Public Sub WorkbookProperties() " Prints the number of open workbooks Debug.Print Workbooks.Count " Prints the full workbook name Debug.Print Workbooks("Test1.xlsx").FullName " Displays the full workbook name in a message dialog MsgBox Workbooks("Test1.xlsx").FullName " Prints the number of worksheets in Test2.xlsx Debug.Print Workbooks("Test2.xlsx").Worksheets.Count " Prints the name of currently active sheet of Test2.xlsx Debug.Print Workbooks("Test2.xlsx").ActiveSheet.Name " Closes workbook called Test1.xlsx Workbooks("Test1.xlsx").Cthua " Closes workbook Test2.xlsx và saves changes Workbooks("Test2.xlsx").Cthua thảm SaveChanges:=TrueEnd SubCrúc ý: trong ví dụ bên trên Debug.Print sử dụng tương đối những. Hàm này đã xuất những giá trị vào Immediate window. Để xem Immediate window lựa chọn View–>Immediate window từ bỏ thực đơn (phím tắt là Ctrl+G).


*

*

2-ImmediateWindow2

Truy cập Workbook bởi index (chỉ mục)

Chúng rất có thể sử dụng số Index với worbooks(). Index đề cập đến số trang bị trường đoản cú workbook.

Workbook (1) đề cập đến workbook thao tác dược mở màn tiên, workbooks (2) đề cùa đến workbook được mnghỉ ngơi thứ hai với tiếp tục những điều đó.

" First workbook that was openedDebug.Print Workbooks(1).Name" Third workbook that was openedDebug.Print Workbooks(3).Name" The last workbook that was openedDebug.Print Workbooks(Workbooks.Count).NameTrong ví dụ này chúng ta áp dụng workbooks.count, tính năng này Tức là số lượng workbook hiện tại bao gồm trong bộ sưu tập workbooks. Sử dụng Index không thực thụ có ích trừ khi bạn đề xuất cho thiết bị từ bỏ. Txuất xắc vào đó, áp dụng workbook với workbooks() đã hiệu quả hơn. 

Truy cập tất cả các workbook đã mở

Nếu bạn có nhu cầu truy cập toàn bộ các workbook đã mở hay có thể nói các mục vào bộ sưu tầm workbooks()thì hoàn toàn có thể thực hiện bằng phương pháp áp dụng For each Loop.

Chúng ta cũng hoàn toàn có thể thực hiện For Loop:

" https://excelmacromastery.com/Public Sub PrintWrkFileName() " Prints out the full filename of all open workbooks Dyên ổn wrk As Workbook For Each wrk In Workbooks Debug.Print wrk.FullName Next wrkEnd SubĐể truy cập toàn bộ Workbook thì có thể chọn một trong hai vòng lặp trên. For Loop sẽ bổ ích trường hợp bạn muốn áp dụng vật dụng trường đoản cú hoặc bộ đếm.

" https://excelmacromastery.com/Public Sub PrintWrkFileNameIdx() " Prints out the full filename of all open workbooks Dim i As Long For i = 1 To Workbooks.Count Debug.Print Workbooks(i).FullName Next iEnd SubLưu ý: cả nhì ví dụ đông đảo gọi theo máy nhàn lần truy vấn thứ nhất cho lần truy cập sau cùng. Nếu ý muốn gọi theo thiết bị từ trở lại thì có tác dụng nhỏng sau:

" https://excelmacromastery.com/Public Sub PrintWrkFileNameIdxRev() " Prints out the full filename of all open workbooks " in reverse order. Dlặng i As Long For i = Workbooks.Count To 1 Step -1 Debug.Print Workbooks(i).FullName Next iEnd Sub

Msống workbook

Chúng ta rất có thể mlàm việc workbook bởi các bí quyết thủ công bằng tay nhỏng bên trên trên đây trước lúc chạy Macro nhưng lại sẽ hữu dụng rộng nêu mngơi nghỉ workbook một cách tự động làm việc bởi VBA.

Mã VBA sẽ msinh hoạt Workbook “Book1.xlsm” trong thỏng mục “C: Docs”

" https://excelmacromastery.com/Public Sub OpenWrk() " Open the workbook and print the number of sheets it contains Workbooks.Open ("C:DocsBook1.xlsm") Debug.Print Workbooks("Book1.xlsm").Worksheets.Count " Cđại bại the workbook without saving Workbooks("Book1.xlsm").Cthất bại saveChanges:=FalseEnd Subquý khách vẫn kiểm soát workbook tất cả sống thọ hay không, vì vậy giúp cho bạn tránh khỏi lỗi. Các hàm Dir cung cấp các bạn triển khai điều này:

" https://excelmacromastery.com/Public Sub OpenWrkDir() If Dir("C:DocsBook1.xlsm") = "" Then " File does not exist - insize user MsgBox "Could not open the workbook. Please kiểm tra it exists" Else " open workbook & vì something with it Workbooks.Open("C:DocsBook1.xlsm") End IfEnd Sub

Kiểm tra mở cửa workbook

Nếu chúng ta msống workbook dưới dạng chỉ phát âm, thì không thành sự việc nếu như workbook đã msống. Tuy nhiên nếu còn muốn update tài liệu vào workbook thì các bạn cần đánh giá nó được mlàm việc tuyệt chưa.

Hàm dưới đây hoàn toàn có thể soát sổ coi workbook mlàm việc hay không, nếu chưa nó sẽ mlàm việc workbook. 

" https://excelmacromastery.com/Function GetWorkbook(ByVal sFullFilename As String) As Workbook Dim sFilename As String sFilename = Dir(sFullFilename) On Error Resume Next Dyên wk As Workbook Set wk = Workbooks(sFilename) If wk Is Nothing Then Set wk = Workbooks.Open(sFullFilename) End If On Error Goto 0 Set GetWorkbook = wk End FunctionBạn hoàn toàn có thể thực hiện như vậy này:

" https://excelmacromastery.com/Sub ExampleOpenWorkbook() Dyên sFilename As String sFilename = "C:DocsBook2.xlsx" Dlặng wk As Workbook Set wk = GetWorkbook(sFilename) End SubMã nãy hoàn toàn có thể giải quyết và xử lý giỏi trường hợp bên trên. Tuy nhiên nếu như workbook hiện đang mở làm việc cơ chế chỉ gọi hoặc được mngơi nghỉ vày người tiêu dùng khác thì bạn có thể giải pháp xử lý trường hợp nàhệt như cách dưới đây. 

Ta có thể sử dụng hàm dưới đây nhằm khám nghiệm tệp đã có được msinh sống giỏi chưa với giả dụ tất cả thì thông tin cho những người sử dụng đóng góp lại nhằm macro chạy thành công xuất sắc.

" https://excelmacromastery.com/" Function to lớn kiểm tra if workbook is already openFunction IsWorkBookOpen(strBookName As String) As Boolean Dyên ổn oBk As Workbook On Error Resume Next Set oBk = Workbooks(strBookName) On Error GoTo 0 If Not oBk Is Nothing Then IsWorkBookmở cửa = True End If End FunctionDưới đấy là ví dụ về vấn đề áp dụng tác dụng này. Trong ngôi trường hòa hợp giả dụ workbook đã có mlàm việc thì các bạn đề xuất thông báo người tiêu dùng buộc phải đóng nhằm macro tiếp tục chạy.

" https://excelmacromastery.com/Sub ExampleUse() Dyên sFilename As String sFilename = "C: empwritedata.xlsx" If IsWorkBookOpen(Dir(sFilename)) = True Then MsgBox "File is already open. Please cthất bại tệp tin & run macro again." Exit Sub End If " Write khổng lồ workbook here End SubNếu bạn cần bình chọn workbook có đang mnghỉ ngơi trong phiên phiên bản excel không giống thì rất có thể sử dụng thuộc tính Readonly của workbook. Nó đã đặt thành True nếu như mở trong số yếu tố hoàn cảnh khác.

Cthất bại workbook (đóng workbook)

Để đóng workbook trong VBA khá đơn giản, chỉ cần cần sử dụng lệnh Cthua kém của workbook.

wk.CloseĐôi khi Lúc đóng góp một workbook vào VBA cùng không thích thấy thông báo hiện đang có ý muốn lưu giữ tệp từ bỏ Excel. Bạn hoàn toàn có thể hướng dẫn và chỉ định mang đến workbook có lưu giữ hay không, kế tiếp thông tin của excel không xuất hiện thêm nữa:

" Don"t save sầu changeswk.Cthảm bại SaveChanges:= False" Do save changeswk.Cđại bại SaveChanges:= TrueTa cần thiết giữ các biến hóa so với workbook vẫn mlàm việc bên dưới dạng chỉ hiểu.

Lưu workbook

Ta hoàn toàn có thể lưu giữ workbook Khi mong muốn đóng nó, còn nếu còn muốn lưu giữ ở ngẫu nhiên quá trình như thế nào chỉ cần áp dụng cách thức như sau:

wk.SaveTa cũng có thể áp dụng cách thức SaveAs:

wk.SaveAs "C:Backupsaccounts.xlsx"Phương thơm thức workbook SaveAs có thể chấp nhận được các bạn thêm password cùng với 12 tđắm đuối số, đặt tệp ngơi nghỉ chính sách chỉ đọc…

Ngoài ra cũng có thể áp dụng VBA nhằm lưu lại workbook dưới dạng phiên bản sao bằng SaveCopyAs.

wk.SaveCopyAs "C:DocsCopy.xlsm"

Sao chxay workbook

Nếu bạn muốn xào luộc một workbook cơ mà ko phải msinh sống thì hoàn toàn có thể áp dụng FileCopy hệt như ví dụ sau:

Public Sub CopyWorkbook() FileCopy "C:DocsDocs.xlsm", "C:DocsExample_Copy.xlsm"End Sub

Sử dụng vỏ hộp thoại File nhằm mở Workbook

Ngoài các cách msinh sống Workbook như đề cập sống thương hiệu thì có thể áp dụng vỏ hộp thoại File nhằm mngơi nghỉ Workbook. Sử dụng phương pháp này nếu bạn có nhu cầu người tiêu dùng lựa chọn workbook. cũng có thể dễ ợt sử dụng Windows File Dialog nlỗi dưới đây:

FileDialog rất có thể định thông số kỹ thuật với áp dụng nó để:

Chọn một tập tin.Chọn một thỏng mục.Mlàm việc tệp.“Save sầu as” lưu bên dưới dạng tệp.

Xem thêm: Công Viên Và Khu Du Lịch Ở Bình Chánh, Công Viên Và Khu Vui Chơi Tại Huyện Bình Chánh Tp

Nếu các bạn chỉ mong muốn người dùng chọn tệp rất có thể áp dụng tác dụng GetOpenFileName.

Hàm sau đang mở một workbook thao tác bằng File Dialog, hàm đã trả về thương hiệu tệp vừa đủ trường hợp tệp được lựa chọn. Nếu ngwoif dùng diệt sẽ hiển thị một thông tin và trả về chuỗi trống.

" https://excelmacromastery.com/Public Function UserSelectWorkbook() As String On Error Goto lớn ErrorHandler Dim sWorkbookName As String Dlặng FD As FileDialog Set FD = Application.FileDialog(msoFileDialogFilePicker) " Open the tệp tin dialog With FD " Set Dialog Title .Title = "Please Select File" " Add filter .Filters.Add "Excel Files", "*.xls;*.xlsx;*.xlsm" " Allow selection of one file only .AllowMultiSelect = False " Display dialog .Show If .SelectedItems.Count > 0 Then UserSelectWorkbook = .SelectedItems(1) Else MsgBox "Selecting a file has been cancelled. " UserSelectWorkbook = "" End If End With " Clean up Set FD = NothingDone: Exit FunctionErrorHandler: MsgBox "Error: " + Err.DescriptionEnd Functionlúc các bạn Hotline hàm này, bạn buộc phải khám nghiệm xem người tiêu dùng bao gồm hủy vỏ hộp thoại hay không. Ví dụ tiếp sau đây cho bạn thấy cách dễ dàng Call hàm UserSelectWorkbook cùng cách xử lý trường vừa lòng người dùng diệt.

" https://excelmacromastery.com/Public Sub TestUserSelect() Dlặng userBook As Workbook, sFilename As String " Hotline the UserSelectworkbook function sFilename = UserSelectWorkbook() " If the filename returns is blank the user cancelled If sFilename "" Then " mở cửa workbook & vì something with it Set userBook = Workbooks.Open(sFilename) End IfEnd SubTa có thể tùy chỉnh cấu hình hộp thoại bằng cách đổi khác title, cỗ thanh lọc cùng AllowMultiSelect trong hàm UserSelectWorkbook .

" https://excelmacromastery.com/Public Sub WriteToCellUsingThis() " Both lines do the same thing. Debug.Print ThisWorkbook.FullName Debug.Print Workbooks("MyVBA.xlsm").FullNameEnd Sub

Sử dụng Thisworkbook

Có một bí quyết thuận lợi hơn để truy cập workbook hiện thời cố do sử dụng Workbooks (). Đó là sử dụng tự khóa ThisWorkbook . Nó đề cùa tới workbook ngày nay tức là workbook có cất mã VBA.

Nếu mã của Shop chúng tôi trong workbook Điện thoại tư vấn MyVBA.xlsm thì ThisWorkbook và Workbooks (“MyVBA.xlsm”) tsi mê chiếu mang đến cùng một workbook.

Sử dụng ThisWorkbook có ích rộng sử dụng Workbooks () . Với ThisWorkbook không cần thiết phải lo lắng về thương hiệu của tệp. 

Thay đổi tên tệp sẽ không ảnh hưởng cho mãSao chép mã qua 1 workbook khác không yêu cầu thay đổi mã.

Thực tế là tên gọi tệp của các bạn sẽ luôn luôn biến hóa. Sử dụng ThisWorkbook  Tức là mã của các bạn sẽ vẫn vận động tốt.

ví dụ như sau đây cho thấy nhì chiếc mã. Một sử dụng ThisWorkbook  với một sử dụng Workbooks (). Workbooks vẫn không hề hoạt động ví như tên của MyVBA.xlsm đổi khác.

Sử dụng ActiveWorkbook

ActiveWorkbook đề cập tới workbook hiện đang chuyển động. Pmùi hương pháp này chỉ có lợi cơ hội đâu. Vấn đề là ngẫu nhiên workbook nào cũng có thể chuyển động chỉ bởi một cú nhấn vào dễ dàng. Vì thế mà lại hoàn toàn có thể dẫn mang lại viết dữ liệu vào không đúng workbook.

Dường như, sử dụng ActiveWorkbook tạo cho mã cạnh tranh đọc. Mã có thể không rành mạch workbook như thế nào buộc phải là workbook active sầu.

Vì thể tách sử dụng ActiveWorkbook trừ sẽ phải làm vậy. 

Các ví dụ về truy vấn workbook

Chúng ta đang để ý toàn bộ các giải pháp truy cập workbook. Đoạn mã tiếp sau đây cho biết thêm các ví dụ về các phương pháp này:

" https://excelmacromastery.com/Public Sub WorkbooksUse() " This is a workbook that is already open & called MyVBA.xlsm Debug.Print Workbooks("MyVBA.xlsm").FullName " The workbook that contains this code Debug.Print ThisWorkbook.FullName " The open workbook that was opened first Debug.Print Workbooks(1).FullName " The open workbook that was opened last Debug.Print Workbooks(Workbooks.Count).FullName " The workbook that is the currently active one Debug.Print ActiveWorkbook.FullName " No workbook mentioned - the active one will be used Debug.Print Worksheets("Sheet1").Name " A closed workbook called Book1.xlsm in thư mục C:Docs Workbooks.xuất hiện ("C:DocsBook1.xlsm") Debug.Print Workbooks("Book1.xlsm").FullName Workbooks("Book1.xlsm").CloseEnd Sub

Khai báo biến hóa workbook

Mục đích knhì báo trở nên workbook để làm mang lại mã dễ nhìn đọc cùng dễ nắm bắt rộng.

" https://excelmacromastery.com/Public Sub OpenWrkObjects() Dim wrk As Workbook Set wrk = Workbooks.Open("C:DocsBook1.xlsm") " Print number of sheets in each book Debug.Print wrk.Worksheets.Count Debug.Print wrk.Name wrk.CloseEnd SubChúng ta hoàn toàn có thể đặt biến hóa workbook bất kỳ bởi các cách thức truy cập cơ mà họ vẫn mày mò.

Dưới trên đây cho biết thêm và một mã tuy vậy không tồn tại phát triển thành workbook:

" https://excelmacromastery.com/Public Sub OpenWrkNoObjects() Workbooks.xuất hiện ("C:DocsBook1.xlsm") Debug.Print Workbooks("Book2.xlsm").Worksheets.Count Debug.Print Workbooks("Book2.xlsm").Name Workbooks("Book2.xlsm").CloseEnd SubTrong đa số ví dụ này, không tồn tại không ít khác hoàn toàn. Tuy nhiên, khi chúng ta có không ít mã, việc áp dụng biến chuyển đã hữu ích quan trọng đặc biệt đến worksheet và vùng tài liệu Lúc tên nhiều năm, ví dụ: thisWorkbook.Worksheets (“Sheet1”). Range (“A1”) .

Quý khách hàng rất có thể viết tên đổi mới workbook hệt như wrkRead hoặc wrkWrite để lập cập thấy được chức năng của nó.

Tạo một workbook mới

Để tạo một workbook bắt đầu ta áp dụng hàm Add. Hàm này tạo thành một workbook trống new, điều này cũng giống như nhỏng lựa chọn workbook mới tự menu tệp của Excel.

Lúc chế tác một workbook thao tác làm việc mới ta thường xuyên sẽ lưu lại nó. Đoạn mã tiếp sau đây sẽ minc họa giải pháp triển khai.

" https://excelmacromastery.com/Public Sub AddWordbook() Dim wrk As Workbook Set wrk = Workbooks.Add " Save sầu as xlsx. This is the mặc định. wrk.SaveAs "C:TempExample.xlsx" " Save as a Macro enabled workbook wrk.SaveAs "C:TempExample.xlsm", xlOpenXMLWorkbookMacroEnabledEnd Sublúc bạn chế tác một workbook bắt đầu, nó thường xuyên cất ba worksheet. Vấn đề này được xác minh vì trực thuộc tính Application.SheetsInNewWorkbook.

Nếu bạn muốn bao gồm một vài worksheet khác vào workbook bắt đầu thì các bạn chuyển đổi thuộc tính này trước lúc tạo ra workbook mới. lấy ví dụ sau đây cho chính mình thấy bí quyết tạo nên một workbook new với bảy worksheet. 

" https://excelmacromastery.com/Public Sub AddWordbookMultiSheets() " Store SheetsInNewWorkbook value so we can rephối it later Dlặng sheetCnt As Long sheetCnt = Application.SheetsInNewWorkbook " Set sheets in a new workbook khổng lồ be 7 Application.SheetsInNewWorkbook = 7 " Workbook will be created with 7 sheets Dim wrk As Workbook Set wrk = Workbooks.Add " Display sheet count Debug.Print "number of sheets: " và CStr(wrk.Worksheets.Count) " Rephối lớn original value Application.SheetsInNewWorkbook = sheetCntEnd Sub

Sử dụng WITH cùng với workbook

Lệnh WITH tạo nên Việc phát âm với viết mã VBA dễ ợt rộng. Sử dụng With tất cả ý nghĩa các bạn chỉ việc nhắc đối tượng người dùng một lần. 

lấy ví dụ như sau gồm hai sub. Đoạn thứ nhất nhỏng các mã thông thường. 

Đoạn trang bị máy nhì sử dụng từ khóa With. điều này giúp mã cụ thể rộng. Các trường đoản cú khóa End With đánh dấu sự xong của một mã phần bằng phương pháp sử dụng With.

" https://excelmacromastery.com/" Not using the With keywordPublic Sub NoUsingWith() Debug.Print Workbooks("Book2.xlsm").Worksheets.Count Debug.Print Workbooks("Book2.xlsm").Name Debug.Print Workbooks("Book2.xlsm").Worksheets(1).Range("A1") Workbooks("Book2.xlsm").CloseEnd Sub" Using With makes the code easier khổng lồ readPublic Sub UsingWith() With Workbooks("Book2.xlsm") Debug.Print .Worksheets.Count Debug.Print .Name Debug.Print .Worksheets(1).Range("A1") .Cchiến bại End WithEnd Sub.

Leave a Reply

Your email address will not be published. Required fields are marked *

  • Cách xin nghỉ hẳn học thêm

  • Chuyển đổi cơ số 2 sang 10

  • Cách hủy lệnh máy in brother

  • Cách tạo group email trong outlook 2007

  • x

    Welcome Back!

    Login to your account below

    Retrieve your password

    Please enter your username or email address to reset your password.