Nhờ cá bạn giúp đỡ, như mình muốn: Khi khởi động file lên Sheet3 sẽ ẩn đi, chỉ hiển thị sheet Bangtonghop. Click CommandButton nào thì đường link bên Sheet3 sẽ chạy. Mong được các bạn chỉ dẫn.
Có 2 vấn đề cần cải tiến:
- Thứ nhất: Sao phải dùng sheet trung gian để lưu các đường link trong khi bạn hoàn toàn có thể cho mấy đường link này chứa trong chính các Button?
- Thứ hai: Thay vì dùng CommandButon (ActiveX Control), sao bạn không dùng Button (Forms Controls)? Bởi nếu dùng CommandButton, bạn buộc phải viết code riêng cho từng đối tượng trong khi với Button (Forms) bạn hoàn toàn có thể viết 1 code duy nhất dùng chung cho nhiều đối tượng
Bạn thấy sao?
Cảm ơn anh rất nhiều góp ý rất hay, em còn bập bẹ nên hok rành lắm. Ý thứ 2 em làm được rồi, còn ý thứ nhất nếu làm thì add đường link vào ra sao anh. Mong anh giúp thêm!
Bác xem có đúng ý không, add Hyperlink vào Button. file đính kèm
Cảm ơn anh rất nhiều góp ý rất hay, em còn bập bẹ nên hok rành lắm. Ý thứ 2 em làm được rồi, còn ý thứ nhất nếu làm thì add đường link vào ra sao anh. Mong anh giúp thêm!
Sub Main()
Dim btn As Button, filePath As String
On Error Resume Next
Set btn = Sheet1.Buttons(Application.Caller)
filePath = btn.ShapeRange.AlternativeText
Workbooks.Open filePath
End Sub
Là sao bạn có thể nói rõ hơn được không?
Mình có góp ý thế này nghe! thứ nhất bạn dùng Combobox sẽ dễ bị lỗi Font (có thể dùng cách khác hay hơn mà, dễ truy xuất dữ liệu hơn). Còn các ô A, B, C và D tại sao không cho nó là các ô trong bảng tính để dễ tham chiếu, dễ sử dụng hàm thống kê, dò tìm... Sử dụng các đối tượng dễ bị lỗi font và khó lấy giá trị (Ở đây là viết code dày dòng, khó kiểm soát). Nếu các góp ý này hữu ích thì chuyện thống kê rất dễ không cần viết code. Còn nếu ý bạn muốn thế thì hẹn bạn lần sau sẽ viết code cho.Sorry, mình xin đưa lại file mới lên.
Mình có góp ý thế này nghe! thứ nhất bạn dùng Combobox sẽ dễ bị lỗi Font (có thể dùng cách khác hay hơn mà, dễ truy xuất dữ liệu hơn). Còn các ô A, B, C và D tại sao không cho nó là các ô trong bảng tính để dễ tham chiếu, dễ sử dụng hàm thống kê, dò tìm... Sử dụng các đối tượng dễ bị lỗi font và khó lấy giá trị (Ở đây là viết code dày dòng, khó kiểm soát). Nếu các góp ý này hữu ích thì chuyện thống kê rất dễ không cần viết code. Còn nếu ý bạn muốn thế thì hẹn bạn lần sau sẽ viết code cho.
Paste code sau vào sheet1(BANGTONGHOP)
Lưu ý là chữ TỔNG CỘNG tại các sheet của bạn chưa đồng nhất với danh sách làm list cho Combobox. chữ TỔNG CỘNG: (có dấu 2 chấm phía sau). Phải đồng nhất thì mới dò tìm được
Mã:Private Sub ComboBox1_Change() Shapes.Range("TextBox 21").TextFrame.Characters.Text = _ Format(Application.VLookup(ComboBox1.Value, Sheet2.Range("A4:B16"), 2, 0), "#,##0") Shapes.Range("TextBox 27").TextFrame.Characters.Text = _ Format(Application.VLookup(ComboBox1.Value, Sheet2.Range("E4:F16"), 2, 0), "#,##0") Shapes.Range("TextBox 28").TextFrame.Characters.Text = _ Format(Application.VLookup(ComboBox1.Value, Sheet3.Range("A4:B16"), 2, 0), "#,##0") Shapes.Range("TextBox 29").TextFrame.Characters.Text = _ Format(Application.VLookup(ComboBox1.Value, Sheet3.Range("E4:F16"), 2, 0), "#,##0") Shapes.Range("TextBox 34").TextFrame.Characters.Text = _ Format(Application.VLookup(ComboBox1.Value, Sheet4.Range("C4:D16"), 2, 0), "#,##0") Shapes.Range("TextBox 35").TextFrame.Characters.Text = _ Format(Application.VLookup(ComboBox1.Value, Sheet5.Range("C4:D16"), 2, 0), "#,##0") End Sub
Lỗi này đây bạn, cứ chọn tháng là báo lỗi ah.Tôi chạy có lỗi gì đâu? bình thường mà. lỗi gì dán cái hình lên đây xem???
Cũng file tôi tải của bạn về. Dò tìm được hết. có lỗi gì đâu nhỉ? không thì inbox teamview tôi xem thử. chứ tôi test máy tôi không lỗi thì tôi cũng chịu ấy...
-----------------------
Có khi nào máy bạn định dạng dấu ; dấu , khác máy tôi không???
Đoạn này "#,##0" thử sửa thành "#.##0" xem có được không.
Cũng file tôi tải của bạn về. Dò tìm được hết. có lỗi gì đâu nhỉ? không thì inbox teamview tôi xem thử. chứ tôi test máy tôi không lỗi thì tôi cũng chịu ấy...
-----------------------
Có khi nào máy bạn định dạng dấu ; dấu , khác máy tôi không???
Đoạn này "#,##0" thử sửa thành "#.##0" xem có được không.