Click vào mỗi MultiPage thì Textbox sẽ thay đổi dòng chữ

Liên hệ QC

anhtotbung35

Thành viên hoạt động
Tham gia
16/2/09
Bài viết
149
Được thích
26
Nghề nghiệp
Kế toán
Em tạo một Form, trong form có tạo một MultiPage (gồm 2 trang). Cho em hỏi làm thế nào để mỗi khi Click vào mỗi MultiPage thì dòng Textbox trên Form sẽ thay đổi theo nội dung của mình. Và cho em hỏi thêm, tên của MultiPage viết tiếng việt được không.
 

File đính kèm

Thì vậy đúng không:
PHP:
Private Sub UserForm_Initialize()
  With Me.MultiPage1
   .Pages(1).Visible = True
   ...........................
  End With
End Sub
Hổng phải vậy! Dùng GetSetting và SaveSetting anh à! (hình như có lần anh đã hỏi rồi còn gì)
Ẹc... Ẹc...
 
Upvote 0
Dear ptm0412
Theo hướng dẫn của anh em đã làm được cái useform theo ý muốn.
Em tạo một textbox mới để nhập đoạn mã hiệu vào thì nó sẽ tự tìm mã hiệu trong lisbox (dang từ điển)
Đây là code của TextBox1_Change :
PHP:
Private Sub TextBox1_Change()
Dim Cls_tim As String
Dim Shtim_Name As String
Dim Rng_Tim As Range, Rng_Kq As Range

Shtim_Name = TabStrip1.SelectedItem.Caption
Set Rng_Tim = Sheets(Shtim_Name).Range("A4:C" & Range("A65536").End(xlDown).Row)
Cls_tim = TextBox1.Value
TextBox1 = UCase(TextBox1)
If Cls_tim = "" Then Exit Sub
Set Rng_Kq = Rng_Tim.Find(Cls_tim, , xlFormula, xlPart)

If Rng_Kq Is Nothing Then Exit Sub
    ListBox1.RowSource = Shtim_Name & "!" & Rng_Kq.Address
End Sub
Khi chạy thì báo lỗi dòng: "Set Rng_Kq = Rng_Tim.Find(Cls_tim, , xlFormula, xlPart)"
Nhờ anh và AC trên GPE xem giúp.
Trân trọng.
Mong nhận được hồi đáp của AC
 

File đính kèm

Upvote 0
Dear ptm0412
Theo hướng dẫn của anh em đã làm được cái useform theo ý muốn.
Em tạo một textbox mới để nhập đoạn mã hiệu vào thì nó sẽ tự tìm mã hiệu trong lisbox (dang từ điển)
Đây là code của TextBox1_Change :
PHP:
Private Sub TextBox1_Change()
Dim Cls_tim As String
Dim Shtim_Name As String
Dim Rng_Tim As Range, Rng_Kq As Range

Shtim_Name = TabStrip1.SelectedItem.Caption
Set Rng_Tim = Sheets(Shtim_Name).Range("A4:C" & Range("A65536").End(xlDown).Row)
Cls_tim = TextBox1.Value
TextBox1 = UCase(TextBox1)
If Cls_tim = "" Then Exit Sub
Set Rng_Kq = Rng_Tim.Find(Cls_tim, , xlFormula, xlPart)

If Rng_Kq Is Nothing Then Exit Sub
    ListBox1.RowSource = Shtim_Name & "!" & Rng_Kq.Address
End Sub
Khi chạy thì báo lỗi dòng: "Set Rng_Kq = Rng_Tim.Find(Cls_tim, , xlFormula, xlPart)"
Nhờ anh và AC trên GPE xem giúp.
Trân trọng.
Mong nhận được hồi đáp của AC
Chữ xlFormula viết sai, lý ra phải là vầy: xlFormulas
Ngoài ra, kiểu tìm như code của bạn chẳng hiệu quả tí nào! Chỉ tìm ra được 1 giá trị thôi sao?
 
Upvote 0
Hổng phải vậy! Dùng GetSetting và SaveSetting anh à! (hình như có lần anh đã hỏi rồi còn gì)
Ẹc... Ẹc...

À, đúng là không phải vậy, do mình hiểu nhầm câu hỏi chớ lý nào hỏi dễ vậy.
Mình cứ nghĩ ndu hỏi là làm sao mặc định một Page khi form hiện lên. Còn cái vụ "nhớ" kia thì mình đã biết rồi. Sorry!
 
Upvote 0
Chữ xlFormula viết sai, lý ra phải là vầy: xlFormulas
Ngoài ra, kiểu tìm như code của bạn chẳng hiệu quả tí nào! Chỉ tìm ra được 1 giá trị thôi sao?

Cả ơn anh NDU góp ý:
Để bổ sung thêm nhiều giá trị hiển thị vào listbox em viết :
PHP:
Private Sub TextBox1_Change()
Dim Cls_tim As String
Dim Shtim_Name As String
Dim Rng_Tim As Range, Rng_Kq As Range

Shtim_Name = TabStrip1.SelectedItem.Caption
Set Rng_Tim = Sheets(Shtim_Name).Range("A4:C" & Range("A65536").End(xlDown).Row)
Cls_tim = TextBox1.Value
TextBox1 = UCase(TextBox1)
If Cls_tim = "" Then Exit Sub
Set Rng_Kq = Rng_Tim.Find(Cls_tim, , xlFormulas, xlPart)

If Rng_Kq Is Nothing Then Exit Sub
Dim Fist_Row as long, last_row as long
First_Row = Rng_Kq.Row
Last_row =  Range("A65536").End(xlDown).Row
    ListBox1.RowSource = "'[GPE.xls]" & Shtim_Name & " '!A" & First_row & ":C" & Last_row
End Sub
Em chạy bị báo lỗi. Em chưa hiểu nhiều về VB nên không biết phải sửa thế nào?

Nhờ AC xem giúp.
Trân trọng cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
Sau một hồi "mò" cuối cùng đã làm được. Cảm giác thật "sướng"
Cảm ơn AC
 
Upvote 0
Xin hỏi anh Vba_GPe và mọi người.
Trong ví dụ của anh, biến Name_Tab sẽ lấy Caption của các tab trong TabStrip1:
PHP:
Dim Name_Tab As String
Name_Tab = TabStrip1.SelectedItem.Caption                (Các Caption sẽ có dang: DG1776,DG1777)
'+ Em đặt thêm 1 biến nưa
Dim Name_Sh as String
Name_Sh = "DM"&Right(Name_Tab,4)                   (Ý: Ứng với mỗi Name_Tab là (DG1776,DG1777) thi Name_Sh sẽ là (DM1776,DM1777)
Em viết code như trên, nhưng khi F8 để chay thử thì tại dòng "Name_Sh = "DM"&Right(Name_Tab,4) " nó báo Name_Tab = "" và biến Name_Sh chỉ có giá trị là "DM" thôi.
Em chưa tìm ra vấn đề, kinh nhờ anh chị và mọi người giải đáp.
Cảm ơn anh chị.
 
Upvote 0
Các bác cho em xin code khi thoat trang 2
Sẽ nhảy qua trang 1 trong multipage ạ
 
Upvote 0
Web KT

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

Back
Top Bottom