Hỏi code VBA làm chữ ẩn hiện trên Label trong Form.

Liên hệ QC

thangteo

Thành viên thường trực
Tham gia
8/5/07
Bài viết
393
Được thích
43
Nhờ các thầy và các anh xem chỉ giúp em đoạn code khi nhấn nút NHẤP NHÁY thì chữ (hiện tại trong form nó là số 6) nó ẩn rồi hiện tức là nhấp nháy với ạ, và có thể thay đổi tốc độc nhấp nháy theo khoảng thời gian mà mình có thể thay đổi trong code được ạ.
Thank!
 

File đính kèm

  • NhapNhay.xlsm
    18.6 KB · Đọc: 38
Em tính là bỏ hẳn nút Commandbutton1 luôn anh befaint ơi.(tính làm cho Form hoa hòe giống biển quảng cáo đèn Led ngoài đường)
 
Upvote 0
Chỉ khi Close Form thì thôi nhấp nháy
Mã:
Private Sub UserForm_Terminate()
  StopTimer
End Sub
 
Upvote 0
Ý em là không sử dung sự kiện Comandbutton_Click nữa mà gán code vào luôn sự kiện Userform_Initialize.
 
Upvote 0
Ý em là không sử dung sự kiện Comandbutton_Click nữa mà gán code vào luôn sự kiện Userform_Initialize.
Không biết nói chuyện với ai. Bực bội!
Đã bảo không dùng thì bỏ đi:
- Trên Form bỏ CommandButton1
- Code trong Form thì bỏ Private Sub CommandButton1_Click()
Còn:
PHP:
Private Sub UserForm_Initialize()
  hWnd = FindWindow("ThunderDFrame", Me.Caption)
  uStyle = GetWindowLong(hWnd, GWL_STYLE)
  SetWindowLong hWnd, GWL_STYLE, uStyle And Not WS_SYSMENU
  Call StartTimer  '<--------------
End Sub
 
Upvote 0
Hỏi thế người khác trả lời có cần không?
PHP:
Private Sub UserForm_Initialize()
  hWnd = FindWindow("ThunderDFrame", Me.Caption)
  uStyle = GetWindowLong(hWnd, GWL_STYLE)
  SetWindowLong hWnd, GWL_STYLE, uStyle And Not WS_SYSMENU
  Call CommandButton1_Click        'Thêm dòng này'
End Sub
Hihi. Vẫn trả lời nhiệt tình.
 
Upvote 0
Xin lỗi anh befaint, vì lúc đó là em đang nói với anh, mong anh befaint thứ lỗi.
Em đã làm được rồi.
 

File đính kèm

  • FormnoCap_1.xlsb
    21.1 KB · Đọc: 18
Upvote 0
Ah mà anh befaint và anh Autoreply, em cũng để ý thấy form của em cũng lâu lâu (cỡ 12->20 giây) cũng bị giật một lần (rỏ nhất là các nút "Sửa", "Xóa" "Lưu")
Không biết có giống như form của bạn thangteo không?(Form em label1 riêng rẻ)
Mong các Anh xem giúp.
 
Upvote 0
Ah mà anh befaint và anh Autoreply, em cũng để ý thấy form của em cũng lâu lâu (cỡ 12->20 giây) cũng bị giật một lần (rỏ nhất là các nút "Sửa", "Xóa" "Lưu")
Không biết có giống như form của bạn thangteo không?(Form em label1 riêng rẻ)
Mong các Anh xem giúp.
Theo em nghĩ vấn đề giật chắc chắn không thể khắc phục được triệt để vì dẫu sao tất cả vẫn trong cùng 1 Form, chỉ cần tìm ra giải pháp để hạn chế đến mức tối đa hiện tượng giật là ok rồi. Khoảng 15-20' mới giật như file vừa gửi lên là quá tốt rồi. Nhưng vẫn hi vọng có 1 giải pháp triệt để luôn, hihi.
 
Upvote 0
Cũng có nhiều người muốn làm nhấp nháy phết!
 
Upvote 0
Cũng có nhiều người muốn làm nhấp nháy phết!
Tôi thì lại không thích màu mè, hoa, lá, cành, mà chỉ thích cái gì ứng dụng tốt cho công việc, giải quyết công việc nhanh, gọn, lẹ chính xác.

Chứ màu mè nhìn cho đẹp chỉ có làm tăng dung lượng File chứ nó chả có tích sự gì cả.
 
Upvote 0
Tôi thì lại không thích màu mè, hoa, lá, cành, mà chỉ thích cái gì ứng dụng tốt cho công việc, giải quyết công việc nhanh, gọn, lẹ chính xác.

Chứ màu mè nhìn cho đẹp chỉ có làm tăng dung lượng File chứ nó chả có tích sự gì cả.
Mỗi người mỗi công việc và lĩnh vực chuyên môn riêng bạn nhé! Có thể công việc của bạn không cần thiết đến nó, nhưng người khác lại cần đến nó để giải quyết vấn đề công việc của họ. Đơn cử như tôi cần, và cũng có 1 số người trong thead này đang thảo luận về nó đấy! Đừng nói: "chả có tích sự gì cả.".
 
Upvote 0
Tôi xin góp ý 3 ý nhỏ:
1. Trong code bạn bỏ dòng Repaint đi. Vì trong tình huống này không cần.
2. Biến lCount = lCount + 1 luôn tăng mà không giảm, vậy nếu form này chạy trong vòng 40 năm thì sẽ overfloat - vượt khoảng giá trị kiểu Long cho phép. Trong bài này thì để form của bạn chạy trong 40 năm thì chắc không bao giờ xảy ra trừ phien Hollyhood. Tuy nhiên trong lập trình phải có cơ chế rết lại giá trị, đây là nguyên tắc an toàn cho các việc sau này khi lập trình.
3. Form bạn tạo cần cót một Command Button để đóng form. Đến dùng nhiều như tôi còn bối rồi loay hoay, sau đó mới nhấn ASLT+F4 để thoát, chiều bạn chắc CTRL+ALT+DELETE mất. :mad:
 
Upvote 0
2. Biến lCount = lCount + 1 luôn tăng mà không giảm, vậy nếu form này chạy trong vòng 40 năm thì sẽ overfloat - vượt khoảng giá trị kiểu Long cho phép. Trong bài này thì để form của bạn chạy trong 40 năm thì chắc không bao giờ xảy ra trừ phien Hollyhood. Tuy nhiên trong lập trình phải có cơ chế rết lại giá trị, đây là nguyên tắc an toàn cho các việc sau này khi lập trình.
Làm gì có cái form nào chạy 40 năm liên tục hả Tuân?
Biến lCount của tôi sẽ tự reset mỗi khi click (lCount= 0 tại sự kiện CommandButton1_Click), thế cũng ổn rồi
 
Upvote 0
Hihi, không có ý gì nhưng form chạy đến 40 năm cũng ít khi xảy ra lắm. Với em như thế này là ok quá rồi, các thầy giỏi quá, khâm phục luôn ạ.
Còn lại thì chỗ bị giật có thể đã khắc phục được tương đối khi chỉ sửa lại chỗ UserForm1.Repaint thành 'UserForm1.Repaint là không thấy giật nữa. Khả năng có hạn nên sửa mò được đến đâu biết đến đó, mong các thầy thông cảm.
 
Upvote 0
Làm gì có cái form nào chạy 40 năm liên tục hả Tuân?
Biến lCount của tôi sẽ tự reset mỗi khi click (lCount= 0 tại sự kiện CommandButton1_Click), thế cũng ổn rồi

Ủa form này anh là à, e tưởng của chủ thớt. :) .

Chạy 40 năm em trêu thôi, vì nó phải ở phim viễn tưởng :D. Thường em viết code hay có đoạn reset biến đếm về giá trị ban đầu sau khi đạt ngưỡng nào đó, còn trường hợp này form không chạy liên tục 40 năm thì để đó cũng đc. :D
 
Upvote 0
Tôi xin góp ý 3 ý nhỏ:
1. Trong code bạn bỏ dòng Repaint đi. Vì trong tình huống này không cần.
2. Biến lCount = lCount + 1 luôn tăng mà không giảm, vậy nếu form này chạy trong vòng 40 năm thì sẽ overfloat - vượt khoảng giá trị kiểu Long cho phép. Trong bài này thì để form của bạn chạy trong 40 năm thì chắc không bao giờ xảy ra trừ phien Hollyhood. Tuy nhiên trong lập trình phải có cơ chế rết lại giá trị, đây là nguyên tắc an toàn cho các việc sau này khi lập trình.
3. Form bạn tạo cần cót một Command Button để đóng form. Đến dùng nhiều như tôi còn bối rồi loay hoay, sau đó mới nhấn ASLT+F4 để thoát, chiều bạn chắc CTRL+ALT+DELETE mất. :mad:
Đối với biến lCount thì thay nó thành kiểu Boolean cho nhanh, đang true thì chuyền thành false, đang false thì chuyển thành true.
 
Upvote 0
Web KT
Back
Top Bottom