Hỏi đáp trợ giúp về khai báo Worksheet

Liên hệ QC

ngocthieugia

Thành viên mới
Tham gia
30/9/08
Bài viết
12
Được thích
3
Chào cả nhà
nhờ anh chị chỉ giúp code về khai báo Worksheet :

Do có nhiều code nhỏ nhưng đều dùng chung 1 Worksheet, vậy có cách nào khai báo chung với sheet được ko ?

VD: với biến cố định có thể khai báo dạng hằng số "Public Const test = 2"
tuy nhiên với Worksheet thì khai báo như thế nào để có thể sử dụng với toàn bộ chương trình con?

sub test1()
Dim Sh0 As Worksheet
Set Sh0 = Worksheets("Data in")
'code----------------
end sub

sub test2()
Dim Sh0 As Worksheet
Set Sh0 = Worksheets("Data in")
'code test2---------------
end sub


Cảm ơn cả nhà
 
Lần chỉnh sửa cuối:
Tầm vực của "chương trình con" là gì?


Tôi không giao thiệp với người hay viết tắt. Nếu bạn tiếp tục dùng thì tôi không nói chuyện tiếp.
xin lỗi bác VietMini em sẽ chú ý .
Tầm vực của "chương trình con" là gì?
-> ý em là các sub đều dùng chung "Worksheets("Data in")" nên đều phải khai báo lại, có cách nào khai báo 1 lần biến toàn cục hoặc hằng số để không phải khai báo lại trong các sub bác chỉ giúp ạ.

Cảm ơn bác nhiều.
 
Có hai cách:

1. Biến toàn cục:

1.1. Khai báo trong module chính:
Public CommonSheet As WorkSheet

1.2. Đặt code trong sự kiện WorkBook.Open
Set CommonSheet = WorkSheets("sheet gì đó")

Kết quả: biến CommonSheet sẽ hiện hữu ở mọi code, và chỉ vào "sheet gì đó".

2. Function xác định biến:

2.1. Khai báo trong module chính:
Function CommonSheet() As Worksheet
Set CommonSheet = WorkSheets("sheet gì đó")
End Function

Kết quả: ở mọi code, chỉ cần nhắc cái tên CommonSheet, nó sẽ chỉ vào "sheet gì đó"

Chú thích: cách 2 hơi chậm hơn 1 chút xíu (vài phần ngàn giây). Nhưng ngược lại, nó rất gọn gàng, không phải rườm rà đặt trước trong sự kiện.
 
Có hai cách:

1. Biến toàn cục:

1.1. Khai báo trong module chính:
Public CommonSheet As WorkSheet

1.2. Đặt code trong sự kiện WorkBook.Open
Set CommonSheet = WorkSheets("sheet gì đó")

Kết quả: biến CommonSheet sẽ hiện hữu ở mọi code, và chỉ vào "sheet gì đó".

2. Function xác định biến:

2.1. Khai báo trong module chính:
Function CommonSheet() As Worksheet
Set CommonSheet = WorkSheets("sheet gì đó")
End Function

Kết quả: ở mọi code, chỉ cần nhắc cái tên CommonSheet, nó sẽ chỉ vào "sheet gì đó"

Chú thích: cách 2 hơi chậm hơn 1 chút xíu (vài phần ngàn giây). Nhưng ngược lại, nó rất gọn gàng, không phải rườm rà đặt trước trong sự kiện.
Cảm ơn bác
cách 2 em thử OK rồi ạ .
cách 1 em thử thì báo lỗi như hình ảnh dưới , bác trợ giúp em với
1658647190115.png
Em cảm ơn bác nhiều.
 

File đính kèm

  • 1658647032285.png
    1658647032285.png
    16.1 KB · Đọc: 2
cách 1 em thử thì báo lỗi như hình ảnh dưới , bác trợ giúp em với
Đâu phải Set trong module chính, mà là trong ThisWorkbook:

PHP:
Private Sub Workbook_Open()
Set CommonSheet = Worksheets("Data in")
End Sub

Làm xong, lưu, đóng file, mở lại file mới có hiệu lực.

.
 
Web KT

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

Back
Top Bottom