Làm Thế Nào để Có Thể Gán Biến Cho Form Và Cho Textbox Trong Form

Giải Pháp Excel
  • Trang chủ Có gì mới Hoạt động gần nhất Tác giả
  • Diễn đàn Tìm bài viết mới Tìm theo chuyên mục
  • Video New Video về Excel Video về tin học khác Tin tức về tin học chung
  • Thông tin mới Featured content Tìm bài mới Tài Nguyên Mới Hoạt động gần nhất
  • Tài nguyên Đánh giá mới nhất Tìm tài nguyên
  • Facebook
  • Đóng góp
Đăng nhập Đăng Ký Có gì mới? Tìm kiếm

Tìm kiếm

Mọi nơi Đề tài Diễn đàn này Đề tài này Chỉ tìm trong tiêu đề Note Bởi: Tìm kiếm Tìm nâng cao…
  • Tìm bài viết mới
  • Tìm theo chuyên mục
Menu Đăng nhập Đăng Ký Install the app Install How to install the app on iOS

Follow along with the video below to see how to install our site as a web app on your home screen.

Note: This feature may not be available in some browsers.

  • Khách ơi! GPE thông tin đến bạn ấn phẩm "lập trình VBA trong Excel": - Phần cơ bản - Phần Nâng Cao - VBA trong Excel - Cải thiện và tăng tốc
  • Trang chủ
  • Diễn đàn
  • Lập Trình với Excel
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. Làm thế nào để có thể gán biến cho Form và cho Textbox trong Form ?
  • Thread starter Thread starter BNTT
  • Ngày gửi Ngày gửi 18/4/09
Liên hệ QC BNTT

BNTT

Bùi Nguyễn Triệu Tường
Thành viên danh dự Tham gia 3/7/07 Bài viết 4,946 Được thích 23,208 Nghề nghiệp Dạy đàn piano Tôi có 3 Form, trong mỗi Form có vài Textbox. Những Textbox này khi nhấn đúp vào nó, sẽ mở Form Numpad ra. Form Numpad sẽ được dùng như một bàn phím để nhập số vào trong các Textbox. 000-1115.jpg Vấn đề là, làm sao để Numpad nhập số vào đúng cái Textbox đã gọi nó? Tôi chỉ là dân amatơ về VBA, cho nên tôi đã dùng cách này: Tôi đặt trong Form Numpad 2 cái Textbox ẩn, có tên là AAA và BBB, và khi nhấn đúp vào một Textbox nào đó trong 3 cái Form kia, thì có một đoạn Code gán tên của Form cho AAA và gán tên của Textbox cho BBB. Ví dụ, khi nhấn đúp vào Textbox số 1 trong UserForm3: PHP: Sao chép. Private Sub TB1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) NumPad.AAA.Value = "UserForm3" NumPad.BBB.Value = "TB1" NumPad.Show End Sub Rồi khi nhấn vào các phím trong Numpad, thì sẽ chạy "một rừng" IF để kiểm tra xem sẽ nhập số vào cái nào... Ví dụ, khi nhấn nút có chữ C (ClearAll) dùng để xóa hết dữ liệu đang có trong một Textbox (khi nhập nhầm chẳng hạn), thì chạy code này: PHP: Sao chép. Private Sub CBClearAll_Click() If AAA.Value = "UserForm1" Then If BBB.Value = "TB1" Then UserForm1.TB1.Value = 0 If BBB.Value = "TB2" Then UserForm1.TB2.Value = 0 If BBB.Value = "TB3" Then UserForm1.TB3.Value = 0 If BBB.Value = "TB4" Then UserForm1.TB4.Value = 0 If BBB.Value = "TB5" Then UserForm1.TB5.Value = 0 ElseIf AAA.Value = "UserForm2" Then If BBB.Value = "TB1" Then UserForm2.TB1.Value = 0 If BBB.Value = "TB2" Then UserForm2.TB2.Value = 0 If BBB.Value = "TB3" Then UserForm2.TB3.Value = 0 If BBB.Value = "TB4" Then UserForm2.TB4.Value = 0 ElseIf AAA.Value = "UserForm3" Then If BBB.Value = "TB1" Then UserForm3.TB1.Value = 0 If BBB.Value = "TB2" Then UserForm3.TB2.Value = 0 If BBB.Value = "TB3" Then UserForm3.TB3.Value = 0 End If End Sub Chạy rất tốt, nhưng dài dòng quá! Có cách nào ngắn hơn không? Tối hôm qua, tôi có hỏi sư nương của tôi, nàng nói tôi thử dùng cái này: PHP: Sao chép. Private Sub CBClearAll_Click() UserForms(AAA).Controls(BBB).Value = 0 End Sub Mới đọc thì thấy khoái quá! Đúng rồi chứ còn gì nữa, nghĩa là khi nhấn vào CBClearAll thì gán cho cái Textbox có tên giống như tên của BBB ở trong cái Form có tên giống tên của AAA cái giá trị = 0... Thế nhưng, VBA hỏng hiểu! Nó hỏng biết UserForms(AAA) là cái gì, cũng chẳng hiểu Controls(BBB) là cái gì! Vậy xin gửi bài toán này lên đây, nhờ các cao thủ ra tay giúp.

File đính kèm

  • Forms And NumPad.xls Forms And NumPad.xls 74.5 KB · Đọc: 154
Lần chỉnh sửa cuối: 18/4/09 Sắp xếp theo thời gian sắp xếp theo bầu chọn PhanTuHuong

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự Tham gia 13/6/06 Bài viết 7,180 Được thích 24,619 Em chưa xem kỹ, nhưng có thể dùng Select Case thay If nếu dài dòng. Nếu số TextBox không thay đổi bác có thể dùng biến dạng mảng cho gọn, vứt bên ngoài module. Upvote 0 Lệnh Hồ Đại Hiệp

Lệnh Hồ Đại Hiệp

Độc cô Cửu kiếm
Tham gia 20/10/08 Bài viết 299 Được thích 524 Dùng mấy cái Sub có tham số là Ok ngay thôi mà. Khi Form/Textbox nào gọi Numpad thì nó sẽ truyền cho Numpad 1 tham số nào đó. Dựa vào tham số này để biết rằng cái nào đang gọi nó. --CV-- Upvote 0 BNTT

BNTT

Bùi Nguyễn Triệu Tường
Thành viên danh dự Tham gia 3/7/07 Bài viết 4,946 Được thích 23,208 Nghề nghiệp Dạy đàn piano Xin nói thêm. Đây chỉ là ví dụ, nên các Textbox có tên là TB1, TB2, TB3... và các UserForm có tên là UserForm1, UserForm2... Nhưng trong thực tế, chúng sẽ có những tên thật, những cái tên dễ nhớ.. Thành thử đừng dựa vào những con số 1, 2, 3... này mà làm. Cảm ơn ý kiến của Hướng và Hiếu. Nhưng... như vậy thì giống đánh đố mình quá. Cụ thể hơn đi. Please... Upvote 0 PhanTuHuong

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự Tham gia 13/6/06 Bài viết 7,180 Được thích 24,619 Trước hết, bác dùng code này để "bắt" từng Name của các control trong UserForm1: Mã: Sao chép. Dim ControlObj As Control For Each ControlObj In UserForm1.Controls MsgBox ControlObj.Name Next Mã: Sao chép. Private Sub CBClearAll_Click() UserForms(AAA).Controls(BBB).Value = 0 End Sub Phải nói trước là trong 1 Form có nhiều kiểu control (có cái có hoặc không có thuộc tính Value), vì vậy bác gán value bằng không là KHÔNG ỔN, dễ gặp lỗi. Mà bác Tường ơi, sao TextBox bác gán cả 2 giá trị thuộc tính Text, Value làm gì. Bỏ Value đi. Đoạn code sau sẽ xóa toàn bộ nội dung text trong TextBox: Mã: Sao chép. Dim ControlObj As Control For Each ControlObj In UserForm1.Controls MsgBox ControlObj.Text=vbNullstring Next Lần chỉnh sửa cuối: 18/4/09 Upvote 0 sealand

sealand

Thành viên gạo cội
Tham gia 16/5/08 Bài viết 4,883 Được thích 7,688 Giới tính Nam Nghề nghiệp Kế Toán Mình khai báo 2 biến toàn cục để lưu đối tượng ,rất tiếc trong VBA không có MDI form nên không có tập hợp form. Đành dùng if hay select case gán cứng từng Form. Bạn tham khảo nhé.

File đính kèm

  • Book1.xls Book1.xls 47.5 KB · Đọc: 147
Lần chỉnh sửa cuối: 18/4/09 Upvote 0 Lệnh Hồ Đại Hiệp

Lệnh Hồ Đại Hiệp

Độc cô Cửu kiếm
Tham gia 20/10/08 Bài viết 299 Được thích 524 Bác thân mến. Đây là Sub để truyền tham số cho 1 Control (Textbox, Combobox . . ), bất kỳ trong 1 Form bất kỳ. PHP: Sao chép. Sub ABC(FormName As String, TBName As String, GiaTri As String) Dim Ojb As Object Dim MyForm As Object Dim MyTB As Control On Error Resume Next For Each Ojb In VBA.UserForms If InStr(1, Obj.Name, FormName) > 0 Then Set MyForm = Ojb Exit For End If Next If MyForm Is Nothing Then _ Set MyForm = VBA.UserForms.Add(FormName) If MyForm Is Nothing Then Exit Sub Set MyTB = MyForm.Controls(TBName) MyTB.Value = GiaTri End Sub VD ": Muốn gán giá trị "GPE tuyet voi" vào Textbox "TB1" ở UserForm "UserForm1" thì câu lẹnh như sau : PHP: Sao chép. Call ABC("UserForm1", "TB1", "GPE - tuyet voi") Bác có thể tham khảo thêm tại đây Chúc bác thành công. Upvote 0 Nguyễn Duy Tuân

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự Tham gia 13/6/06 Bài viết 4,771 Được thích 10,281 Giới tính Nam Nghề nghiệp Giáo viên, CEO tại Bluesofts Kỹ thuật dùng Class Hình như bác BNTT đang thực hiện một công trình hay ho nào đó? Em viết cái này tặng bác! Cho dù dùng bao nhiêu TextBox, bao nhiêu form thì anh cũng chỉ cần vài dòng lệnh mà thôi.

File đính kèm

  • Forms And NumPad_New.zip Forms And NumPad_New.zip 26.5 KB · Đọc: 552
Upvote 0 hai2hai

hai2hai

VNUNi®
Thành viên danh dự Tham gia 14/6/06 Bài viết 1,137 Được thích 2,297 Nghề nghiệp Tư vấn giải pháp bán lẻ
BNTT đã viết: Tôi có 3 Form, trong mỗi Form có vài Textbox. Những Textbox này khi nhấn đúp vào nó, sẽ mở Form Numpad ra. Form Numpad sẽ được dùng như một bàn phím để nhập số vào trong các Textbox. Nhấp chuột vào đây để mở rộng...
Anh tạo 1 cái UserControl bao gồm: - 1 textbox - 1 button bên cạnh textbox (ai lại dùng cái "nhấn đúp" bí hiểm thế) --=0 - 1 form Numpad Khi click vào button thì nó show Numpad, sau khi "gõ số" thì gán vào textbox. Trên form chính, kéo n cái UserControl đó vào form. Thế là xong. Ưu điểm: - Viết 1 lần, dùng cho nhiều lần - Người sử dụng ko cần viết code Nhược điểm: - Phải biết ABC về UserControl Lần chỉnh sửa cuối: 20/4/09 Upvote 0 H

hoa35ktxd

Thành viên thường trực
Tham gia 8/2/07 Bài viết 298 Được thích 269 Thường thì khi truyền tham số ta hay dùng biến trung gian để thực hiện. Trong trường hợp này có thể làm như sau: Trong Form Numpad bạn khai báo 2 biến và code như sau PHP: Sao chép. Public Frm As Object, Txt As String Private Sub CBClearAll_Click() Frm.Controls(Txt).Text = "" End Sub Trong sự kiện Double_Click của Textbox trên Form nào đó ta code như sau PHP: Sao chép. Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) With Numpad Set .Frm = Me .Txt = TextBox1.Name .Show End With End Sub Upvote 0 Bạn phải đăng nhập hoặc đăng ký để trả lời bài viết tại đây. Web KT

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

T Xin giúp em copy cột C ở tất cả các sheet vào file import_template. Em cảm ơn ạ.
  • thuong.dothict
  • Thứ năm lúc 16:40
  • Cấu trúc dữ liệu Excel và việc Xử lý dữ liệu
Trả lời 6 Đọc 146 Hôm nay lúc 09:01 DeTong D dungdodac Lỗi khi COPY , viền xung quanh ô được chọn đứng yên, không chạy
    • Cười
  • dungdodac
  • 17/12/24
  • Hỏi đáp những vấn đề khác
Trả lời 5 Đọc 236 Hôm qua, lúc 21:56 PhanTuHuong PhanTuHuong CNKyNguyen Giảm dung lượng của file excel
    • Cảm ơn
    • Cười
    • Thích
  • CNKyNguyen
  • 26/10/24
  • Những vấn đề chung
Trả lời 4 Đọc 449 Hôm qua, lúc 21:53 PhanTuHuong PhanTuHuong T Tính tổng các sheet, dùng hàm sumif kết hợp với indirect
  • tungoctram
  • Hôm qua, lúc 10:47
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 3 Đọc 73 Hôm qua, lúc 19:17 longtay1111 L 1 Phát triển một VBE trong Delphi để tạo một cửa sổ công cụ.
  • 125479980
  • Thứ năm lúc 19:56
  • Excel và các ngôn ngữ lập trình khác
Trả lời 9 Đọc 240 Hôm qua, lúc 16:56 125479980 1 C Code Set password File Excel
    • Cười
  • Cúc Hr
  • Thứ sáu lúc 17:19
  • Những vấn đề chung
Trả lời 5 Đọc 177 Hôm qua, lúc 16:44 SA_DQ SA_DQ vn81206 TRA CỨU MÃ SỐ THUẾ CÁ NHÂN QUA EXCEL
    • Buồn
  • vn81206
  • 2/2/23
  • Cơ sở dữ liệu
2 3 Trả lời 44 Đọc 13K Hôm qua, lúc 15:12 HeSanbi HeSanbi tutepp Lỗi không mở được file Excel, chỉ mở được khi dùng Ultraview
  • tutepp
  • Thứ sáu lúc 09:45
  • Những vấn đề chung
Trả lời 7 Đọc 110 Hôm qua, lúc 09:11 tutepp tutepp dangtuan1212 Mình cần hỗ trợ in excel 2 mặt căn lề trái phải theo trang chẵn lẻ
  • dangtuan1212
  • Thứ sáu lúc 22:16
  • Các Add-ins cho excel
Trả lời 2 Đọc 62 Hôm qua, lúc 07:49 dangtuan1212 dangtuan1212 ongke0711
  • Question Question
Tải hóa đơn điện tử (https://hoadondientu.gdt.gov.vn/) Excel Vba
    • Thích
    • Yêu thích
    • Cảm ơn
  • ongke0711
  • 6/10/24
  • Lập Trình với Excel
14 15 16 Trả lời 302 Đọc 20K Thứ sáu lúc 17:48 bimbebeo bimbebeo X Tự động giãn dòng và ẩn các dòng bị bỏ trống
  • xuanthucle
  • Thứ hai lúc 17:59
  • Giải thích, gỡ rối, xử lý lỗi công thức
Trả lời 7 Đọc 317 Thứ sáu lúc 17:03 HUONGHCKT H T Cố định các dòng merger cell để khi in không bị ẩn mất nội dung khi dùng Autofit row height
  • tuannguyenmoh
  • Thứ sáu lúc 10:06
  • Định dạng, trình bày, in ấn bảng tính
Trả lời 1 Đọc 53 Thứ sáu lúc 15:20 yaaasoo01 Y HeSanbi
  • Đã giải quyết
HÀM FITROW - Co giãn dòng tự động tối ưu nhất cho Excel v2.44 (*28/12/2024)
    • Thích
    • Yêu thích
  • HeSanbi
  • 18/4/21
  • Lập Trình với Excel
2 3 Trả lời 53 Đọc 22K Thứ sáu lúc 14:35 minhminh040499 minhminh040499 GPE-Trợ Lý [GPE] TALK SHOW NHỮNG ĐIỀU NHỎ TÁC DỤNG LỚN TRONG PIVOT TABLE
    • Thích
  • GPE-Trợ Lý
  • Thứ sáu lúc 11:01
  • Học tập Online
Trả lời 1 Đọc 246 Thứ sáu lúc 11:03 GPE-Trợ Lý GPE-Trợ Lý Hoàng Trọng Nghĩa
  • Suggestion Suggestion
Tặng các bạn file "QUAY SỐ TRÚNG THƯỞNG"
    • Thích
  • Hoàng Trọng Nghĩa
  • 24/8/16
  • Bài viết nổi bật và thông báo
Trả lời 9 Đọc 4K Thứ sáu lúc 09:02 anthanh32 anthanh32 KTS NGUYEN DU Các bác có biết chỉnh mục trống này về dạng word cơ bản không ạ.
  • KTS NGUYEN DU
  • Thứ năm lúc 14:30
  • MS Word và Các phần mềm soạn thảo văn bản
Trả lời 5 Đọc 165 Thứ năm lúc 16:33 KTS NGUYEN DU KTS NGUYEN DU giaiphap Chia sẻ cách tạo gợi ý cho hàm trong Excel bằng thư viện ExcelDna.
    • Thích
    • Yêu thích
    • Cảm ơn
  • giaiphap
  • 13/1/23
  • Excel và các ngôn ngữ lập trình khác
Trả lời 6 Đọc 2K Thứ năm lúc 16:25 Phương Nguyễn 89 Phương Nguyễn 89 hahuykhuong
  • Question Question
link file pdf hóa đơn bằng vba
  • hahuykhuong
  • Thứ tư lúc 20:19
  • Lập Trình với Excel
Trả lời 3 Đọc 186 Thứ năm lúc 14:14 hahuykhuong hahuykhuong Manhhung90
  • Question Question
Xin giúp chuyển dữ liệu từ cột dọc sang hàng ngang theo điều kiện
    • Buồn
  • Manhhung90
  • Thứ hai lúc 19:22
  • Lập Trình với Excel
Trả lời 10 Đọc 265 Thứ năm lúc 11:27 Manhhung90 Manhhung90 M
  • Question Question
Code VBA tìm mã kiện gỗ còn tồn kho
  • moihocvba
  • Thứ ba lúc 10:47
  • Lập Trình với Excel
Trả lời 7 Đọc 331 Thứ năm lúc 10:20 BuiQuangThuan B Xem thêm… Chia sẻ: Facebook X (Twitter) LinkedIn Reddit Pinterest Tumblr WhatsApp Email Chia sẻ Link

Thành viên có số lượng bài viết cao nhất tháng

  • Hoàng Tuấn 868 32
  • HeSanbi 31
  • LINHCM 25
  • ptm0412 25
  • HieuCD 23
  • hoangtuaotrang_hp_vn 21
  • HUONGHCKT 19
  • ongke0711 19
  • SA_DQ 19
  • BuiQuangThuan 18
  • DeTong 18
  • hvnhpro 17
  • qtm1987 17
  • huuthang_bd 16
  • SteveNguyen1991 14
  • hoangminhtien 13
  • Manhhung90 12
  • Nguyễn Duy Tuân 12
  • GPE-Trợ Lý 11
  • Duy Tùng 9x 10

Thành viên có điểm tương tác cao nhất tháng

  • HieuCD 111
  • Hoàng Tuấn 868 34
  • huuthang_bd 34
  • HUONGHCKT 33
  • HeSanbi 29
  • hoangtuaotrang_hp_vn 28
  • Phan Thế Hiệp 27
  • SA_DQ 27
  • befaint 26
  • DeTong 25
  • hoangminhtien 24
  • GPE-Trợ Lý 24
  • ptm0412 22
  • Phuocam 17
  • ongke0711 17
  • Hai Lúa Miền Tây 15
  • longtay1111 15
  • NT Ngoc Yen 12
  • OverAC 11
  • Nguyễn Duy Tuân 11

Đếm ngược thời gian

000 Ngày 00 Giờ 00 phút 00 giây Chúc mừng năm mới
  • Trang chủ
  • Diễn đàn
  • Lập Trình với Excel
  • Website này sử dụng cookies. Tiếp tục sử dụng trang này, đồng nghĩa với việc bạn chấp nhận website sử dụng cookies. Chấp nhận Tìm hiểu thêm.…
Back Top Bottom

Từ khóa » Gán Giá Trị Cho Textbox Trong Vba