Cách khai báo giá trị cho một object trong Dialogsheet 5

Liên hệ QC

vba_gpe

Thành viên thường trực
Tham gia
15/12/10
Bài viết
296
Được thích
44
Nghề nghiệp
Thất nghiệp
Kính gửi anh chị Giải pháp Excel
Em có tạo ra một dialogsheet 5 tên là: Dialog
Gồm các đối tượng:
- Label 4
- Button2
- Button5
- DialogFram1

Để gán giá trị cho các đối tượng này em có thể khai báo như thế nào đây. Nhờ anh chị giúp đở.
Trong ví dụ em gửi kèm, mình có thể thay đổi nội dụng trong label 4 cho cai dialogsheet được hay không. (Không nhập trực tiếp vào dialgosheet mà lấy giá trị từ một cell nào đó trong Excel).

Cảm ơn anh chị.
Mong nhận được hồi đáp.
Trân trọng
 

File đính kèm

  • Dialogsheet.xls
    30 KB · Đọc: 11
Kính gửi anh chị Giải pháp Excel
Em có tạo ra một dialogsheet 5 tên là: Dialog
Gồm các đối tượng:
- Label 4
- Button2
- Button5
- DialogFram1

Để gán giá trị cho các đối tượng này em có thể khai báo như thế nào đây. Nhờ anh chị giúp đở.
Trong ví dụ em gửi kèm, mình có thể thay đổi nội dụng trong label 4 cho cai dialogsheet được hay không. (Không nhập trực tiếp vào dialgosheet mà lấy giá trị từ một cell nào đó trong Excel).

Cảm ơn anh chị.
Mong nhận được hồi đáp.
Trân trọng
Bạn tham khảo tại đây nhé:
http://www.giaiphapexcel.com/forum/showthread.php?31515-Tạo-Form-bằng-DialogSheet&
Làm cho bạn như sau:
1> Viết 1 sub:
PHP:
Sub Dlg_Initialize()
  DialogSheets("Dialog").Labels("Label 4").Caption = Sheet1.Range("A1").Value
End Sub
2> Để sub này chạy khi DialogSheet load, ta click phải vào DialogSheet, chọn Assign Macro, chỉ đến Sub Dlg_Initialize là được rồi
-----------------
Chú ý: Cái thanh tiêu đề thật của DialogSheet không hổ trợ tiếng Việt Unicode đâu nha (các control khác thì được)
 

File đính kèm

  • Dialogsheet.xls
    33.5 KB · Đọc: 24
Cảm ơn anh ndu96081631
Xin hỏi anh trong cái label 4 của Dialogsheet có thuộc tính WrapText giống như trong label của VB không anh nhỉ.
Mục đích là luôn để nôi dung trong Label 4 luôn nằm gọn trong Dialogsheet. Tôi thử đặt nội dung dài vào trong 1 sheet trong Excel thì trong Dialoghsheet chỉ hiện được 1 phần.
Còn nếu kéo kích thước to lên thì cái dialogsheet trông rất "xí".

Cảm ơn anh.
Mong nhân được hồi đáp.

 
Cảm ơn anh ndu96081631
Xin hỏi anh trong cái label 4 của Dialogsheet có thuộc tính WrapText giống như trong label của VB không anh nhỉ.
Mục đích là luôn để nôi dung trong Label 4 luôn nằm gọn trong Dialogsheet. Tôi thử đặt nội dung dài vào trong 1 sheet trong Excel thì trong Dialoghsheet chỉ hiện được 1 phần.
Còn nếu kéo kích thước to lên thì cái dialogsheet trông rất "xí".

Cảm ơn anh.
Mong nhân được hồi đáp.
Nếu Label khó chỉnh quá, bạn thử thay nó bằng TextBox xem ---> Tôi thấy nó có khả năng WrapText đấy

untitled.JPG

Ngoài ra còn nhiều object khác nữa (chẳng hạn có thể vẽ 1 shape nào đó)
 
Cảm ơn anh.
nếu dùng dialogsheet thì mỗi dialogsheet chỉ dùng cho 1 sự kiện thôi phải không anh. Có cách nào dùng Dialogsheet để thay thế cho cái Msgbox của VB, cứ mỗi lần gọi thì sẽ thông báo 1 nội dung, và xử lý 1 sự kiện (tùy theo True, false - Tương đương VByes, Vbno, hoặc VBcancel trong Msgbox).
Theo bài viết của anhtuan1066 mình có thể dùng:
Mã:
    Application.ExecuteExcel4Macro ("ALERT(""" & "Nội dung lấy trong sheet" & """,1)")
để gọi nhiều cái msgbox với nhiều nội dung khác nhau. Tại mỗi thời điểm gọi, sẽ xử lý một sự kiện khác nhau. Tuy nhiên, có cách nào thay cái tiêu đề của bác Bill bằng cái tiêu đề của mình không anh!
Em có tham khảo cái MsgoxUni của anh Tuân nhưng vẫn bị lỗi font một số chổ.

Mong nhận được hồi đáp.
Trân trọng.
 
Cảm ơn anh.
nếu dùng dialogsheet thì mỗi dialogsheet chỉ dùng cho 1 sự kiện thôi phải không anh. Có cách nào dùng Dialogsheet để thay thế cho cái Msgbox của VB, cứ mỗi lần gọi thì sẽ thông báo 1 nội dung, và xử lý 1 sự kiện (tùy theo True, false - Tương đương VByes, Vbno, hoặc VBcancel trong Msgbox).
Theo bài viết của anhtuan1066 mình có thể dùng:
Mã:
    Application.ExecuteExcel4Macro ("ALERT(""" & "Nội dung lấy trong sheet" & """,1)")
để gọi nhiều cái msgbox với nhiều nội dung khác nhau. Tại mỗi thời điểm gọi, sẽ xử lý một sự kiện khác nhau. Tuy nhiên, có cách nào thay cái tiêu đề của bác Bill bằng cái tiêu đề của mình không anh!
Em có tham khảo cái MsgoxUni của anh Tuân nhưng vẫn bị lỗi font một số chổ.

Mong nhận được hồi đáp.
Trân trọng.
Nếu dùng DialogSheet để làm MsgBox thì buộc mỗi MsgBox phải là 1 DialogSheet ---> Bạn có thể làm 1 DialogSheet để hiện nhiều thông báo khác nhau (tùy biến chuổi trong TextBox)... tuy nhiên sẽ khó cho bạn khi thể hiện các Button
Còn dùng Macro 4 e rằng không thể thay được tiêu đề! Hay nhất là dùng WScript.Shell hoặc API
Bạn xem ở đây nhé:
http://www.giaiphapexcel.com/forum/...rong-cửa-số-soạn-thảo-VBA&p=354916#post354916
 
Nếu dùng DialogSheet để làm MsgBox thì buộc mỗi MsgBox phải là 1 DialogSheet ---> Bạn có thể làm 1 DialogSheet để hiện nhiều thông báo khác nhau (tùy biến chuổi trong TextBox)... tuy nhiên sẽ khó cho bạn khi thể hiện các Button
Còn dùng Macro 4 e rằng không thể thay được tiêu đề! Hay nhất là dùng WScript.Shell hoặc API
Bạn xem ở đây nhé:
http://www.giaiphapexcel.com/forum/...rong-cửa-số-soạn-thảo-VBA&p=354916#post354916

Đi tìm đã đời. Cảm ơn anh rất nhiều.
Trân trọng
 
Web KT
Back
Top Bottom