Hộp thoại dialog open file

TranDang

Member
Hội viên mới
chào các bác! e có 2 vấn đề cần được sự trợ giúp của các bác
1.
Trong file Excel của em có một button. em muốn khi ta click vào button đó thì sẽ xuất hiện hộp thoại dialog dùng để open file.
Bác nào biết thì xin hướng dẫn cho em ạ!
2. Em có 10 file dữ liệu excel có cấu trúc bảng tính và địa chỉ các cell giống hệt nhau. Em có một file mẫu (file số 11) cấu trúc cũng giống như 10 file trước nhưng phần dữ liệu thì không nhập j hết (để trống dùng để thống kê số liệu sau này). Trên file đó em cũng có một button. Khi click vào button đó thì file đó sẽ tổng hợp dữ liệu(tính tổng) tất cả dữ liệu trong 10 file kia và xuất hiện kết quả cuối cùng trong các cell của file thứ 11 đó.
Ví dụ trong 10 file đầu đều có cột Masv (mã sinh viên) bao gồm số sinh viên của từng file. Trong file số 11 đó cũng có một cột masv nhưng là dùng để thống kế số sinh viên trong 10 file kia (cộng tất cả số sinh viên của 10 file). Không biết có cách nào làm được hok!
Các bác ráng giúp em nha! chủ nhật này là em phải nộp bài rồi!
Thanks các bác
 
Ðề: Hộp thoại dialog open file

chào các bác! e có 2 vấn đề cần được sự trợ giúp của các bác
1.
Trong file Excel của em có một button. em muốn khi ta click vào button đó thì sẽ xuất hiện hộp thoại dialog dùng để open file.
Bác nào biết thì xin hướng dẫn cho em ạ!
2. Em có 10 file dữ liệu excel có cấu trúc bảng tính và địa chỉ các cell giống hệt nhau. Em có một file mẫu (file số 11) cấu trúc cũng giống như 10 file trước nhưng phần dữ liệu thì không nhập j hết (để trống dùng để thống kê số liệu sau này). Trên file đó em cũng có một button. Khi click vào button đó thì file đó sẽ tổng hợp dữ liệu(tính tổng) tất cả dữ liệu trong 10 file kia và xuất hiện kết quả cuối cùng trong các cell của file thứ 11 đó.
Ví dụ trong 10 file đầu đều có cột Masv (mã sinh viên) bao gồm số sinh viên của từng file. Trong file số 11 đó cũng có một cột masv nhưng là dùng để thống kế số sinh viên trong 10 file kia (cộng tất cả số sinh viên của 10 file). Không biết có cách nào làm được hok!
Các bác ráng giúp em nha! chủ nhật này là em phải nộp bài rồi!
Thanks các bác

1. Mở cửa sổ VBA ra, tạo một sub trong trang ThisWorkbook. Trước đó nhớ declare một biến public selectedFileName As String:

Option Explicit
Public selectedFilename As String
Sub FileDialogOpen()
Dim item As Long
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.Show
item = .SelectedItems.Count
If item = 0 Then
selectedFilename = ""
Else
selectedFilename = .SelectedItems(item)
End If
End With
End Sub

2. Làm chi cho cực. Bạn dùng công cụ Consolidate trong menu Data của Excel là được.
 
Ðề: Hộp thoại dialog open file

Thanks các bác nhiều!
Nhưng trong Consolidate em chỉ chọn được 1 file à! nhưng em muốn cộng dữ liệu từ các ô trong file excel đó! Nếu mình chọn file đó thôi thì làm sao excel biết mình muốn dùng dữ liệu của cột nào! Bác phat có thể hướng dẫn cụ thể hơn không?

Em làm theo hướng dẫn của bác để mở hộp thoại OpenDialog lên nhưng khi chọn file Excel cần mở thì nó không mở được! Đoạn mã phía trên chỉ hiển thị hộp thoại chọn file thôi chứ không đọc file đó! có phải code bên trên còn thiếu không ạ! và làm cách nào để mở được file đó luôn! định dạng do mình quy định
Cảm ơn bác
 
Ðề: Hộp thoại dialog open file

Thanks các bác nhiều!
Nhưng trong Consolidate em chỉ chọn được 1 file à! nhưng em muốn cộng dữ liệu từ các ô trong file excel đó! Nếu mình chọn file đó thôi thì làm sao excel biết mình muốn dùng dữ liệu của cột nào! Bác phat có thể hướng dẫn cụ thể hơn không?

Em làm theo hướng dẫn của bác để mở hộp thoại OpenDialog lên nhưng khi chọn file Excel cần mở thì nó không mở được! Đoạn mã phía trên chỉ hiển thị hộp thoại chọn file thôi chứ không đọc file đó! có phải code bên trên còn thiếu không ạ! và làm cách nào để mở được file đó luôn! định dạng do mình quy định
Cảm ơn bác

Bạn chỉ yêu cầu lấy được tên file, còn mở ra thì lại còn là một câu chuyện dài nhiều tập.

Phải tạo một vài cái sub để nó làm động tác Open cái file (Workbooks.Open), chọn cái sheet cần (Worksheets("").Select), nhảy đến cái ô cần (Cells(dòng, cột).Select), ...

Phải biết code Excel VBA thì mới làm được mấy cái vụ này. KHông thể nói đơn giản được.
 
Ðề: Hộp thoại dialog open file

chào các bác! e có 2 vấn đề cần được sự trợ giúp của các bác
1.
Trong file Excel của em có một button. em muốn khi ta click vào button đó thì sẽ xuất hiện hộp thoại dialog dùng để open file.
Bác nào biết thì xin hướng dẫn cho em ạ!
2. Em có 10 file dữ liệu excel có cấu trúc bảng tính và địa chỉ các cell giống hệt nhau. Em có một file mẫu (file số 11) cấu trúc cũng giống như 10 file trước nhưng phần dữ liệu thì không nhập j hết (để trống dùng để thống kê số liệu sau này). Trên file đó em cũng có một button. Khi click vào button đó thì file đó sẽ tổng hợp dữ liệu(tính tổng) tất cả dữ liệu trong 10 file kia và xuất hiện kết quả cuối cùng trong các cell của file thứ 11 đó.
Ví dụ trong 10 file đầu đều có cột Masv (mã sinh viên) bao gồm số sinh viên của từng file. Trong file số 11 đó cũng có một cột masv nhưng là dùng để thống kế số sinh viên trong 10 file kia (cộng tất cả số sinh viên của 10 file). Không biết có cách nào làm được hok!
Các bác ráng giúp em nha! chủ nhật này là em phải nộp bài rồi!
Thanks các bác
Code để Open file thông qua hộp Open file thì quá đơn giản:
PHP:
Sub Test()
  With Application.FileDialog(1)
    .Show:
    Workbooks.Open .SelectedItems(1)
  End With
End Sub
Thử xem!
----------
Còn câu 2: Cộng tất cả số sinh viên là cộng làm sao? Không hiểu?
 
Ðề: Hộp thoại dialog open file

Cảm ơn tất cả các anh chị đã quan tâm giúp đỡ!
Số là thế này em được giao việc thống kê số liệu bằng excel. Nếu làm bình thường thì ko nói j nhưng vấn đề em gặp phải ở đây là dữ liệu cần thống kê lại nằm trong nhiều file excel (workbook) khác nhau, tất cả dữ liệu cần thống kê đều nằm trong Sheet1 của mỗi workbook. Bây h em phải làm một file Excel duy nhất có 1 button trên đó khi click vào thì nó tự động thống kê( ví dụ cộng,trừ...) các dữ liệu trên các workbook đó để đưa ra kết quả duy nhất trên file Excel đang làm thôi. Làm cách nào để link tới dữ liệu của các file đó chứ! Em quả thật không biết! Tối chủ nhật tuần này em phải "giao hàng" rồi!
Hic...Hic
-----------------------------------------------------------------------------------------
Với lại Code Access em còn biết chút ít chứ Excel thì em thua luôn!
Không biết làm thế nào hết
 
Sửa lần cuối:
Ðề: Hộp thoại dialog open file

Cảm ơn tất cả các anh chị đã quan tâm giúp đỡ!
Số là thế này em được giao việc thống kê số liệu bằng excel. Nếu làm bình thường thì ko nói j nhưng vấn đề em gặp phải ở đây là dữ liệu cần thống kê lại nằm trong nhiều file excel (workbook) khác nhau, tất cả dữ liệu cần thống kê đều nằm trong Sheet1 của mỗi workbook. Bây h em phải làm một file Excel duy nhất có 1 button trên đó khi click vào thì nó tự động thống kê( ví dụ cộng,trừ...) các dữ liệu trên các workbook đó để đưa ra kết quả duy nhất trên file Excel đang làm thôi. Làm cách nào để link tới dữ liệu của các file đó chứ! Em quả thật không biết! Tối chủ nhật tuần này em phải "giao hàng" rồi!
Hic...Hic
-----------------------------------------------------------------------------------------
Với lại Code Access em còn biết chút ít chứ Excel thì em thua luôn!
Không biết làm thế nào hết


Vậy thì làm Consolidate đi là nhanh nhất.
Mở hết các workbook ra.
Mở workbook thống kê ra.
Menu Data - Consolidate.
Vào đó khai báo các range, mỗi range là nội dung trong sheet1 của mỗi workbook.
Chọn phương pháp tính toán: ở đây là Sum.
OK cho nó tính.

Nói vắn tắt vậy thôi, bạn tham khảo thêm trong Help của Excel, hoặc qua giaiphapexcel.com có bài về Consolidate đó.
 
Ðề: Hộp thoại dialog open file

Vậy thì làm Consolidate đi là nhanh nhất.
Mở hết các workbook ra.
Mở workbook thống kê ra.
Menu Data - Consolidate.
Vào đó khai báo các range, mỗi range là nội dung trong sheet1 của mỗi workbook.
Chọn phương pháp tính toán: ở đây là Sum.
OK cho nó tính.

Nói vắn tắt vậy thôi, bạn tham khảo thêm trong Help của Excel, hoặc qua giaiphapexcel.com có bài về Consolidate đó.
Cái này hoàn toàn chính xác!
Thế mạnh của Consolidate nằm ở chổ:
- Tổng hợp dử liệu từ nhiều nguồn, trả kết quả là 1 danh sách duy nhất cộng với việc tính tổng cho từng Item
- Không cần phải mở file nguồn vẫn có khả năng tự cập nhật (ngay cả khi file nguồn có sự thay đổi số liệu)
Viết code để làm việc này cũng khá dể dàng, chỉ cần:
- Record macro quá trình tổng hợp bằng Consolidate, sau đó chỉnh lại code
- Chỉ lưu ý 1 điểm quan trọng nằm ở ĐƯỜNG DẨN ĐẾN FILEĐƯỜNG DẨN ĐẾN SHEET ... nó đòi hỏi địa chỉ theo dạng R1C1 (dạng A1 nó cóc chạy)
-------------
Nếu bạn chưa rành viết code, có thể làm bằng tay... 30s là xong ngay thôi mà!
 
Ðề: Hộp thoại dialog open file

Dạng R1C1 là dạng như thế nào! Em không biết!
Theo cách làm của các bác hướng dẫn sử dụng Consolidate thì em có thể làm được rồi.
Cảm ơn các bác nhiều lắm
-----------------------------------------------------------------------------------------
Dạng R1C1 là dạng như thế nào! Em không biết!
Theo cách làm của các bác hướng dẫn sử dụng Consolidate thì em có thể làm được rồi.
Cảm ơn các bác nhiều lắm.
à wen. Có cách nào chỉ nhập số vào một ô trong Excel(ngược lại) không ạ
-----------------------------------------------------------------------------------------
Đây là file em nháp em làm thử sử dụng Consolidate!
Em cũng thu một Macro để làm chuyện đó!
Nhưng mỗi khi Click vào button có gắn marco đó thì ngoài việc
thực hiện tính toán ra nó còn thêm mấy cái OutLine gì đó nữa
trông rất khó chịu. Nếu người dùng click button nhiều lần thì
mấy cái outline đó lại tăng lên vùn vụt! Có cách nào vẫn hiển thị kết quả
nhưng không xuất hiện mấy dòng outline đó không!
Và hình như nếu ta cứ nhấn nhiều lần thì kết quả thống kê nó sẽ khác hay sao ấy
Các bác xem thử và cho em hướng giải quyết nha!
Thanks
http://www.wikifortio.com/123754/dap.rar
 
Sửa lần cuối:
Ðề: Hộp thoại dialog open file

Em đã làm được rồi cũng tương đối hoàn chỉnh!
Cảm ơn các bác đã quan tâm giúp đỡ để em kịp hoàn thành tiến độ.
Thanks
 
Ðề: Hộp thoại dialog open file

Dạng R1C1 là dạng như thế nào! Em không biết!

Thì ngay cái file của bạn đấy! Bạn mở nó lên, bấm Alt + F11, bạn sẽ thấy có đoạn:
[dap.xls]01'!R4C2:R6C2
Đấy là ghi địa chỉ theo kiểu R1C1
R4C2:R6C2 thì tương đương với B4:B6 nhưng bạn thử sửa R4C2:R6C2 thành B4:B6 xem, đố chạy được đấy!?
(B4:B6 là kiểu A1)
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Kỹ thuật giải trình thanh tra BHXH

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top