Cách gộp nhiều Lệnh VBA thành một (8 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

tailuu_3047

Thành viên chính thức
Tham gia
6/12/08
Bài viết
69
Được thích
1
Chào các anh chị diễn đàn.
Mình có một file tổng hợp số liệu từ các workbook khác nhau ( hàng ngàn workbook như vậy ) nên đã có một anh hỗ trợ viết code VBA cho dễ tổng hợp. Vấn đề của mình là mỗi sheet trong file tổng hợp có mỗi code VBA, mà mình có rất nhiều sheet như vậy trong file tổng hợp ( khoảng 40 sheet). Mỗi lần nhấn code là chạy rất lâu. Giờ mình muốn gom thành một lệnh thì làm thế nào ?
Có lẻ hơi khó miêu tả vấn đề của mình ! Các anh chị có thể load file về là hiểu ngay thôi. Mong các anh chị giúp đỡ.
 

File đính kèm

Chào các anh chị diễn đàn.
Mình có một file tổng hợp số liệu từ các workbook khác nhau ( hàng ngàn workbook như vậy ) nên đã có một anh hỗ trợ viết code VBA cho dễ tổng hợp. Vấn đề của mình là mỗi sheet trong file tổng hợp có mỗi code VBA, mà mình có rất nhiều sheet như vậy trong file tổng hợp ( khoảng 40 sheet). Mỗi lần nhấn code là chạy rất lâu. Giờ mình muốn gom thành một lệnh thì làm thế nào ?
Có lẻ hơi khó miêu tả vấn đề của mình ! Các anh chị có thể load file về là hiểu ngay thôi. Mong các anh chị giúp đỡ.
Bạn chép cái này vào Module nhé
PHP:
Sub TongHop()
    Call TestDT
    Call TestLN
    Call TestTS
    Call TestVCSH
End Sub

Giờ thì bạn chỉ cần gọi Sub TongHop là xong
 
Upvote 0
Bạn chép cái này vào Module nhé
PHP:
Sub TongHop()
    Call TestDT
    Call TestLN
    Call TestTS
    Call TestVCSH
End Sub

Giờ thì bạn chỉ cần gọi Sub TongHop là xong

Cám ơn bạn đã trả lời nhé. Mình làm như bạn chỉ ? Nhưng mà nó cũng chỉ làm lần lượt từng sheet. Chạy xong sheet doanh thu, rồi nó hỏi nguồn để chạy tiếp sheet lợi nhuận sau thuế.....Ý của mình là nhấn một lần là dữ liệu từ các workbook nó chạy đồng thời tất cả các sheet ấy, chứ không phải chậy lần lượt từng sheet bạn à vì file tổng hợp mình có tới 40 sheet tổng hợp dữ liệu từ hàng ngàn workbook khác nhau. Mỗi lần mà chạy một sheet riêng lẻ sẽ rất lâu, để chạy hết 40 sheet thì lâu lắm bạn à. Nên mình muốn gom sau chạy một lần đồng thời tất cả các sheet á bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn đã trả lời nhé. Mình làm như bạn chỉ ? Nhưng mà nó cũng chỉ làm lần lượt từng sheet. Chạy xong sheet doanh thu, rồi nó hỏi nguồn để chạy tiếp sheet lợi nhuận sau thuế.....Ý của mình là nhấn một lần là dữ liệu từ các workbook nó chạy đồng thời tất cả các sheet ấy, chứ không phải chậy lần lượt từng sheet bạn à vì file tổng hợp mình có tới 40 sheet tổng hợp dữ liệu từ hàng ngàn workbook khác nhau. Mỗi lần mà chạy một sheet riêng lẻ sẽ rất lâu, để chạy hết 40 sheet thì lâu lắm bạn à. Nên mình muốn gom sau chạy một lần đồng thời tất cả các sheet á bạn.
cái này hình như lấy một dữ liệu từ file đóng qua file hiện tại thì phải? tìm hiểu ADO đi câu lệnh sẽ ngắn hơn nhiều
 
Upvote 0
Chào các anh chị diễn đàn.
Mình có một file tổng hợp số liệu từ các workbook khác nhau ( hàng ngàn workbook như vậy ) nên đã có một anh hỗ trợ viết code VBA cho dễ tổng hợp. Vấn đề của mình là mỗi sheet trong file tổng hợp có mỗi code VBA, mà mình có rất nhiều sheet như vậy trong file tổng hợp ( khoảng 40 sheet). Mỗi lần nhấn code là chạy rất lâu. Giờ mình muốn gom thành một lệnh thì làm thế nào ?
Có lẻ hơi khó miêu tả vấn đề của mình ! Các anh chị có thể load file về là hiểu ngay thôi. Mong các anh chị giúp đỡ.
Bạn liên hệ doveandrose ADO 1 bụng luôn ấy. Mấy cái này làm hông khó. Nhưng hiện tại đang lười quá. Vài bữa nữa hông ai giúp bạn. Mình sẽ giúp.
 
Upvote 0
Bạn liên hệ doveandrose ADO 1 bụng luôn ấy. Mấy cái này làm hông khó. Nhưng hiện tại đang lười quá. Vài bữa nữa hông ai giúp bạn. Mình sẽ giúp.
Cám ơn các anh chị đã gợi ý về ADO nhé. Em là dân tài chánh mà công việc lại lu bu quá. File trên em cũng nhờ một anh viết giúp chứ em cũng không biết gì về VBA cả +-+-+-+. Mong các anh chị ghé qua xem giúp. Em cám ơn nhiều.
 
Upvote 0
vừa làm xong chuẩn bị gửi file lên thì có đứa đạp dây điện . máy tính tắt cái bụp chưa kịp save miếng nào . đau hơn là mở máy lên lỡ bấm vào nút No gì đó . mất luôn temp save . ôi khốn cái thân tôi . .... thôi thì bạn chờ Giangleloi vậy .
 
Upvote 0
vừa làm xong chuẩn bị gửi file lên thì có đứa đạp dây điện . máy tính tắt cái bụp chưa kịp save miếng nào . đau hơn là mở máy lên lỡ bấm vào nút No gì đó . mất luôn temp save . ôi khốn cái thân tôi . .... thôi thì bạn chờ Giangleloi vậy .
Vậy đã có ý lỡ trót giúp rồi thì "làm lại từ đầu" cũng được cơ mà. "Đợi chờ hổng có hạnh phúc" đâu (Biết là có người đã làm xong rồi)
 
Upvote 0
đem file này về giải trí với nút hello
và kiểm tra xem có vấn đề gì không
 

File đính kèm

Upvote 0
đem file này về giải trí với nút hello
và kiểm tra xem có vấn đề gì không

Chân thành cám ơn anh đã giúp đỡ.
Đúng ý của em rồi ạ. Ban đầu em nghĩ chỉ cần đưa mẫu 4 sheet ban đầu vì đưa nhiều quá sợ làm phiền mí ac. Dựa vào code của mí ac thì em có thể khai báo biến được cho mí sheet còn lại. Khổ nổi nhìn vào file của anh thì thật sự giống như em thấy tiếng Ả Rập vậy. Mò hơn tiếng đồng hồ mà không thể làm theo để khai báo mí biến cho các sheet còn lai được. Anh thông cảm, em chẳng biết tý gì về code cả.
Nhờ anh vất vả thêm tý nữa để khai báo cho mí sheet còn lại được không. Làm phiền anh quá.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Chân thành cám ơn anh đã giúp đỡ.
Đúng ý của em rồi ạ. Ban đầu em nghĩ chỉ cần đưa mẫu 4 sheet ban đầu vì đưa nhiều quá sợ làm phiền mí ac. Dựa vào code của mí ac thì em có thể khai báo biến được cho mí sheet còn lại. Khổ nổi nhìn vào file của anh thì thật sự giống như em thấy tiếng Ả Rập vậy. Mò hơn tiếng đồng hồ mà không thể làm theo để khai báo mí biến cho các sheet còn lai được. Anh thông cảm, em chẳng biết tý gì về code cả.
Nhờ anh vất vả thêm tý nữa để khai báo cho mí sheet còn lại được không. Làm phiền anh quá.
tiếng Ả Rập cũng phải có văn phạm mới viết được chứ . bạn đưa tôi mấy chục cái sheet 0 1 lời giải thích thì tôi viết tiếng Ả Rập thế nào được ? ít ra cũng phải có giải thích theo mẫu sau
tên sheet : ...
từ khóa để tìm kiếm :....
tên quý nằm ở hàng nào ?
giá trị lấy ở dòng nào ?

ví dụ
1/tên sheet : Doanh Thu
2/từ khóa tìm kiếm : KET QUA KINH DOANH
3/tên quý : ngay dòng có chứa từ khóa KET QUA KINH DOANH
4/giá trị : lấy giá trị của (3/) + 1
 
Upvote 0
tiếng Ả Rập cũng phải có văn phạm mới viết được chứ . bạn đưa tôi mấy chục cái sheet 0 1 lời giải thích thì tôi viết tiếng Ả Rập thế nào được ? ít ra cũng phải có giải thích theo mẫu sau
tên sheet : ...
từ khóa để tìm kiếm :....
tên quý nằm ở hàng nào ?
giá trị lấy ở dòng nào ?

ví dụ
1/tên sheet : Doanh Thu
2/từ khóa tìm kiếm : KET QUA KINH DOANH
3/tên quý : ngay dòng có chứa từ khóa KET QUA KINH DOANH
4/giá trị : lấy giá trị của (3/) + 1

Em sơ ý quá. Em có cập nhập thêm thông tin anh yêu cầu ở trên. Anh coi giúp em nhé /-*+/
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
mỗi từ khóa tìm kiếm bạn đưa rất nguy hiểm để áp dụng . ví dụ bạn nói :
Nợ Ngắn hạn cách dòng CAN DOI KE TOAN 19 dòng
về lâu dài ai dám bảo đảm nó sẽ luôn có khoảng cách là 19 dòng ?
tôi cho rằng nên tìm kiếm với chính tên cúng cơm của nó : Short term Liabilities
khi nào kẹt lắm mới phải tìm kiếm từ khóa CAN DOI KE TOAN rồi đi cộng dòng thôi
trong file này tôi đã thêm sheet có tên là SheetInfo bạn có thể thêm hay bớt các sheet nào khác nữa tùy ý
Lưu ý : bảng tham chiếu trong sheetInfo phải luôn được Sort theo cột D (khu vực) => phải theo tuần tự từ khu vực 1 đến khu vực 2
bạn tự kiểm lại xem có vấn đề gì không
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
mỗi từ khóa tìm kiếm bạn đưa rất nguy hiểm để áp dụng . ví dụ bạn nói :
Nợ Ngắn hạn cách dòng CAN DOI KE TOAN 19 dòng
về lâu dài ai dám bảo đảm nó sẽ luôn có khoảng cách là 19 dòng ?
tôi cho rằng nên tìm kiếm với chính tên cúng cơm của nó : Short term Liabilities
khi nào kẹt lắm mới phải tìm kiếm từ khóa CAN DOI KE TOAN rồi đi cộng dòng thôi
trong file này tôi đã thêm sheet có tên là SheetInfo bạn có thể thêm hay bớt các sheet nào khác nữa tùy ý
Lưu ý : bảng tham chiếu trong sheetInfo phải luôn được Sort theo cột D (khu vực) => phải theo tuần tự từ khu vực 1 đến khu vực 2
bạn tự kiểm lại xem có vấn đề gì không
Nói thật là ngưỡng mộ quá lun. Hihi.
 
Upvote 0
mỗi từ khóa tìm kiếm bạn đưa rất nguy hiểm để áp dụng . ví dụ bạn nói :
Nợ Ngắn hạn cách dòng CAN DOI KE TOAN 19 dòng
về lâu dài ai dám bảo đảm nó sẽ luôn có khoảng cách là 19 dòng ?
tôi cho rằng nên tìm kiếm với chính tên cúng cơm của nó : Short term Liabilities
khi nào kẹt lắm mới phải tìm kiếm từ khóa CAN DOI KE TOAN rồi đi cộng dòng thôi
trong file này tôi đã thêm sheet có tên là SheetInfo bạn có thể thêm hay bớt các sheet nào khác nữa tùy ý
Lưu ý : bảng tham chiếu trong sheetInfo phải luôn được Sort theo cột D (khu vực) => phải theo tuần tự từ khu vực 1 đến khu vực 2
bạn tự kiểm lại xem có vấn đề gì không

Quá tuyệt vời anh ạ. Chân thành cám ơn anh nhé. Dân chuyên nghiệp có khác.
Chúc anh nhiều sức khỏe và gặp nhiều may mắn trong cuộc sống nhé /-*+//-*+//-*+/
 
Upvote 0
mỗi từ khóa tìm kiếm bạn đưa rất nguy hiểm để áp dụng . ví dụ bạn nói :
Nợ Ngắn hạn cách dòng CAN DOI KE TOAN 19 dòng
về lâu dài ai dám bảo đảm nó sẽ luôn có khoảng cách là 19 dòng ?
tôi cho rằng nên tìm kiếm với chính tên cúng cơm của nó : Short term Liabilities
khi nào kẹt lắm mới phải tìm kiếm từ khóa CAN DOI KE TOAN rồi đi cộng dòng thôi
trong file này tôi đã thêm sheet có tên là SheetInfo bạn có thể thêm hay bớt các sheet nào khác nữa tùy ý
Lưu ý : bảng tham chiếu trong sheetInfo phải luôn được Sort theo cột D (khu vực) => phải theo tuần tự từ khu vực 1 đến khu vực 2
bạn tự kiểm lại xem có vấn đề gì không

Em mới tổng hợp số liệu nên mới để ý là phát sinh vấn đề này. Bảng cân đối kế toán ( bảng 1 ), bảng kết quả kinh doanh ( bảng 2 ). Khi mà bảng 1 và bảng 2 có sự khác nhau về quý ,ví dụ bảng 1 có quý 1 quý 2 quý 3 quý 4 mà bảng 2 chỉ có mỗi 1 hoặc 2 quý có dữ liệu. Thì khi get dữ liệu. Bảng 1 hầu như đủ dữ liệu, mà bảng 2 lấy thường sót 1 vài quý ( có dữ liệu mà nó k lấy ). Em gửi anh 2 mã làm ví dụ cho dễ quan sát. Em có chú thích ở sheet doanh thu đó anh. Anh coi giúp em nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
ca này cũng khó đỡ lắm à . bạn phải cho biết máy bạn đang ngồi có được thay đổi giá trị trong Registry không ?
tôi phải biết câu trả lời từ bạn mới tính tiếp được
 
Upvote 0
Ông doveandrose này cày ác thật, kiến thức code đa chiều. Tư duy chắc cũng khác người, có bí kíp gì để luyện công chia sẻ với anh em đôi điều để học tập đi bác.
 
Upvote 0
Em không rành 3 cái vụ này lắm anh à. @@. Em thử cái code đầu tiên của anh nó cũng thiếu luôn @@. Nhưng cái code vba em nhờ người viết giúp nó lại đủ. Nhưng mà mí chục sheet mà update dữ liệu từng lần nản quá
 
Upvote 0
Web KT

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

Back
Top Bottom