Giúp code khi Form show lên thì chạy tiếp code nút bấm trong Form (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Mình muốn khi Form show lên thì chạy tiếp code của 1 nút bấm nào đó trong Form ( Vì code đó mình đã viết sẳng cho nút bấm rồi ) thì mình có viết code như thế này mà VBA không hiểu

Mã:
Sub hienfrom()
UserForm1.Show
UserForm1.CommandButton1_Click  ' Minh muon code chay luon Nut bam nay
End Sub


Private Sub CommandButton1_Click()
MsgBox ("a")
End Sub

Xin mọi người chỉ giáo. Chân thành cảm ơn
 

File đính kèm

Mình muốn khi Form show lên thì chạy tiếp code của 1 nút bấm nào đó trong Form ( Vì code đó mình đã viết sẳng cho nút bấm rồi ) thì mình có viết code như thế này mà VBA không hiểu

Mã:
Sub hienfrom()
UserForm1.Show
UserForm1.CommandButton1_Click  ' Minh muon code chay luon Nut bam nay
End Sub


Private Sub CommandButton1_Click()
MsgBox ("a")
End Sub

Xin mọi người chỉ giáo. Chân thành cảm ơn
Mã:
Sub hienfrom()
UserForm1.Show
 Call ABC
End Sub


Private Sub CommandButton1_Click()
  Call ABC
End Sub

Private Sub ABC()
 MsgBox ("a")
End Sub
 
Upvote 0
Mình muốn khi Form show lên thì chạy tiếp code của 1 nút bấm nào đó trong Form ( Vì code đó mình đã viết sẳng cho nút bấm rồi ) thì mình có viết code như thế này mà VBA không hiểu

dặt code vào sự kiên UserForm_Initialize()
Private Sub UserForm_Initialize()
MsgBox ("a")
End Sub
 
Upvote 0

Code trong Nút bấm dài lắm anh . Có cách nào khác không anh.

Mã:
Private Sub CommandButton1_Click()
MsgBox ("a")
' Code 1
' code 2
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua
' Va nhieu cai Phuc tap nua

'.......
End Sub
 
Upvote 0
Thường bạn 'MinhTuan55' nêu câu hỏi rất cầm chừng; & các bài sau trong lúc cứ hỏi bổ sung liên tục í tưởng này nó hay nên thêm những điều kiện,. . . .

Hình như như vây, thiên hạ gọi là bạn 'câu bài' (viết)!
 
Upvote 0
Mình muốn khi Form show lên thì chạy tiếp code của 1 nút bấm nào đó trong Form ( Vì code đó mình đã viết sẳng cho nút bấm rồi ) thì mình có viết code như thế này mà VBA không hiểu
Mã:
Sub hienfrom()
UserForm1.Show
UserForm1.CommandButton1_Click  ' Minh muon code chay luon Nut bam nay
End Sub

Private Sub CommandButton1_Click()
MsgBox ("a")
End Sub
Code trên sai. Mà giả sử có phép mầu làm cho nó đúng thì cũng là CommandButton1_Click được gọi sau khi đóng Form. Tức sau khi kết thúc cuộc nhậu thì người ta mới mang nước chấm vào.

Mã:
Private Sub CommandButton1_Click()
    MsgBox "he"
End Sub

Private Sub UserForm_Initialize()
    CommandButton1_Click
End Sub
Bạn từng viết chương trình và từng có nhiều khách hàng. Điều đó chứng tỏ bạn giỏi chứ nhỉ? Sao tôi thấy bạn hỏi nhiều cái "dễ" thế?
 
Lần chỉnh sửa cuối:
Upvote 0
Code sai thì có sai, nhưng "VBA không hiểu" có thể do lý do khác.
Tự dưng bảo nó hienfrom mà không cho biết from nơi chốn hay vật thể nào thì nó phải khựng thôi.

Thêm cái này kẻo bị kết tội si pem:
Muốn nó chạy cái code gì đó sau khi mở Form thì đặt 1 biến toàn cục vd YeuCauCoLichNut1
Code bấm nút lệnh sẽ:
Đặt YeuCauCoLichNut1 = True
Mở Form
Trong code mở Form, xét nếu YeuCauCoLichNut1 là True thì set trở lại nó là False và kích động nút gì đó

Trả lời các thắc mắc khác: có thể thớt rất xịn về lập trình ứng dụng, kiểm soát và bán hàng chẳng hạn, nhưng chưa hề có căn bản về "giao diện".
 
Lần chỉnh sửa cuối:
Upvote 0
Code sai thì có sai, nhưng "VBA không hiểu" có thể do lý do khác.
Tự dưng bảo nó hienfrom mà không cho biết from nơi chốn hay vật thể nào thì nó phải khựng thôi.

Thêm cái này kẻo bị kết tội si pem:
Muốn nó chạy cái code gì đó sau khi mở Form thì đặt 1 biến toàn cục vd YeuCauCoLichNut1
Code bấm nút lệnh sẽ:
Đặt YeuCauCoLichNut1 = True
Mở Form
Trong code mở Form, xét nếu YeuCauCoLichNut1 là True thì set trở lại nó là False và kích động nút gì đó

Trả lời các thắc mắc khác: có thể thớt rất xịn về lập trình ứng dụng, kiểm soát và bán hàng chẳng hạn, nhưng chưa hề có căn bản về "giao diện".

Hoài giờ nghe câu giả điên khiên đầu máy chưa Bác
 
Upvote 0
Code trên sai. Mà giả sử có phép mầu làm cho nó đúng thì cũng là CommandButton1_Click được gọi sau khi đóng Form. Tức sau khi kết thúc cuộc nhậu thì người ta mới mang nước chấm vào.

Mã:
Private Sub CommandButton1_Click()
    MsgBox "he"
End Sub

Private Sub UserForm_Initialize()
    CommandButton1_Click
End Sub
Bạn từng viết chương trình và từng có nhiều khách hàng. Điều đó chứng tỏ bạn giỏi chứ nhỉ? Sao tôi thấy bạn hỏi nhiều cái "dễ" thế?

bạn hay quá ha. CÁi UserForm_Initialize Mình biết từ lâu rồi bạn. chắc 2009 rồi. Nhưng mình hỏi là có cách nào khác không ?
Nếu dùng cách của bạn thì đoạn code này nó đâu có hiểu

Mã:
Private Sub CommandButton1_Click()
Range("a1") = TextBox1.Value
Unload Me
End Sub
Đấy nếu không có cái UserForm_Initialize thì mình bấm nút CommandButton1_Click thì ô A1 = textbox 1 và sau đó nó Thoát form, còn cái của bạn lỗi tè le
 
Upvote 0
Quý vị thấy chưa? tôi nói là tay này có thể giả vờ để khoe tài và chê người khác dỏm mờ.
(ở bài #9, tôi đóng dấu nháy cái từ "giao diện" - lý do là tôi đâu có muốn nói giao diện máy tính)
.
Hoài giờ nghe câu giả điên khiên đầu máy chưa Bác
 
Upvote 0
Quý vị thấy chưa? tôi nói là tay này có thể giả vờ để khoe tài và chê người khác dỏm mờ.
(ở bài #9, tôi đóng dấu nháy cái từ "giao diện" - lý do là tôi đâu có muốn nói giao diện máy tính)
.
Đừng chế người ta nhé, Núi cao có núi cao hơn. Già rồi biết thì giúp không biết thì không giúp. Cứ nói móc làm gì vậy Lão già
 
Upvote 0
...Già rồi biết thì giúp không biết thì không giúp. Cứ nói móc làm gì vậy Lão già

Bài #9 đã chỉ cho cách giải quyết rồi.
Trẻ ngừoi non dạ hiểu thì thử thực hiện khong hiểu thì nhẫn nhịn nhờ người khác giải thích cho rõ. Cứ chửi bới làm gì vậy cháu nhỏ.
 
Upvote 0
Đừng chế người ta nhé, Núi cao có núi cao hơn. Già rồi biết thì giúp không biết thì không giúp. Cứ nói móc làm gì vậy Lão già
Dù không phạm quy nhưng mà bạn nói thế là đang tự làm khó mình đó. Rồi sau này ai sẽ giúp nếu họ cảm thấy bạn nói khó nghe?
 
Upvote 0
Bài #9 đã chỉ cho cách giải quyết rồi.
Trẻ ngừoi non dạ hiểu thì thử thực hiện khong hiểu thì nhẫn nhịn nhờ người khác giải thích cho rõ. Cứ chửi bới làm gì vậy cháu nhỏ.

Già mà nói Móc nói Mó. Biết thì chỉ không thì thôi bày đặt nói như ta giỏi nhất. Già nói chuyện sao cho người ta nễ
 
Upvote 0
Dù không phạm quy nhưng mà bạn nói thế là đang tự làm khó mình đó. Rồi sau này ai sẽ giúp nếu họ cảm thấy bạn nói khó nghe?

Em không nói ai hết đâu a. Do lão Vetmini này cứ tỏ ra mình ảm hiểu rồi thách thức người khác, coi thường người khác nên em mới nói thôi. Em không cần Lão Vetmini giúp đâu anh
 
Upvote 0
bạn hay quá ha. CÁi UserForm_Initialize Mình biết từ lâu rồi bạn. chắc 2009 rồi.
...

Đấy nếu không có cái UserForm_Initialize thì mình bấm nút CommandButton1_Click thì ô A1 = textbox 1 và sau đó nó Thoát form, còn cái của bạn lỗi tè le
Nếu thế thì sao không đưa cái code đó ra mà lại đưa code
Mã:
MsgBox ("a")
' Code 1
???
Do bạn viết
Mã:
Mình muốn khi Form show lên thì chạy tiếp code của 1 nút bấm nào đó trong Form
nên tôi có quyền đoán mò là code của bạn chỉ làm những việc vô thưởng vô phạt.

Ngoài ra tôi hướng dẫn dùng UserForm_Initialize mà bạn thấy lỗi thì thử dùng UserForm_Activate. Bạn có thể không có ý tưởng nhưng khi có hướng rồi thì tự biến tấu đi. Chả nhẽ cái biến tấu này nó khó nghĩ ra? Nếu là "khi Form show lên" thì hoặc là UserForm_Initialize hoặc UserForm_Activate. Với UserForm_Activate chắc chắn lỗi kia không còn.

Tất nhiên chạy không có lỗi nhưng chưa chắc đúng ý. Muốn đúng ý thì thay vì Code 1 hãy viết rõ ra vì không ai đoán được đâu. Muốn nhận câu trả lời tốt thì phải đưa toàn bộ code lên chứ với biến toàn cục của bác VetMini thì cũng chưa chắc đúng ý. Vì nghĩa là thế nào? Là khi mở Form thì kiểm tra biến? Và nếu nó True thì chuyển thành False và gọi CommandButton1_Click? Nếu thế thì:
1. Tại sao lại phải chuyển biến thành False khi mà sau một chớp mắt thì trong CommandButton1_Click biến lại được chuyển thành True?
2. Tôi hiểu là nếu khi mở Form mà biến = False (vd. khi mở Form lần đầu tiên) thì không làm gì cả. Lúc đó Form hiện lên và ta làm việc bình thường.

Với trường hợp này thì tất cả các lần mở Form kể từ lần thứ 2 đều có biến = True. Tức nếu trong code CommandButton1_Click có những việc vô thưởng vô phạt thì chúng sẽ được thực hiện nhưng Form không bao giờ được hiện nữa để làm việc. Vậy dùng Form làm gì khi chỉ dùng được 1 lần?

Tất nhiên tôi đang xét cái code cụ thể nhưng là được bịa ra
Mã:
Private Sub CommandButton1_Click()
Range("a1") = TextBox1.Value
Unload Me
End Sub

Tôi nhắc lại: Muốn nhận câu trả lời tốt thì phải đưa toàn bộ code lên. Lúc đó biến toàn cục có cần không hay phải viết lại code cho lôgíc thì là chuyện bàn sau. Chứ chỉ có code Unload Form mà lại muốn nó thực hiện "khi Form show lên" thì lôgíc gì ở đây? Lập trình có thể chưa thạo nhưng suy nghĩ lôgíc trong cuộc sống hàng ngày phải có chứ nhỉ?
 
Upvote 0
Đồ án của ngừoi ta là chỗ bán lấy tiền, tức là hàng mang tính chất bản quyền, đâu thể đưa lên đây được.

Ở diễn đàn này thiếu gì ngừoi cho rằng mình có thể hỏi úp úp mở mở nhưng kẻ trả lời thì phải cặn kẽ từng ly từng tí.
Quan niệm chung là ngừoi nào đọc mà không thông suốt câu hỏi thì được xếp vào hạng kém tài.

Hình như có một bạn nào đó từng nói: diễn đàn này vừa là nơi giúp Excel, cũng vừa là nơi giúp rèn luyện kỹ năng đoán câu hỏi.
 
Upvote 0
Hoài giờ nghe câu giả điên khiên đầu máy chưa Bác
Bạn cứ tiếp tục giả điên đi, ở diễn đàn này còn nhiều kẻ giả điếc nữa, thật là ảo

Nếu tiếp tục giả điên thì sẽ đợi người nào có cùng tần số trả lời chính xác cho bạn, còn cứ giả giả thì nhận hàng thiệt hơi khó
 
Upvote 0
Web KT

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

Back
Top Bottom