Cần mọi người giải đáp về code cho chạy dữ liệu trong 1 cell (1 người xem)

Liên hệ QC

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

legendkiss

Thành viên mới
Tham gia
1/11/15
Bài viết
4
Được thích
0
Em là người mới học lập trình, em muốn giải quyết một bài toán mà em nghĩ hoài không ra nên nhờ mọi người giúp đỡ ạ.

Em có 1 Cell (Ví dụ là A1) có dữ liệu ban đầu tại ô là số 0, em muốn tạo một command button mà khi ấn vào ô đó sẽ chạy dữ liệu tăng dần ( 0->1->2->3) chạy hoài đến khi nào mình ấn button lại lần nữa thì nó dừng

Em dùng vòng lặp nhưng như thế nó sẽ lặp mãi mà không thoát khỏi thủ tục nên nó không ấn được nút lần nữa

Mong mọi người giải đáp giúp em, em cảm ơn ạ
 
Em là người mới học lập trình, em muốn giải quyết một bài toán mà em nghĩ hoài không ra nên nhờ mọi người giúp đỡ ạ.

Em có 1 Cell (Ví dụ là A1) có dữ liệu ban đầu tại ô là số 0, em muốn tạo một command button mà khi ấn vào ô đó sẽ chạy dữ liệu tăng dần ( 0->1->2->3) chạy hoài đến khi nào mình ấn button lại lần nữa thì nó dừng

Em dùng vòng lặp nhưng như thế nó sẽ lặp mãi mà không thoát khỏi thủ tục nên nó không ấn được nút lần nữa

Mong mọi người giải đáp giúp em, em cảm ơn ạ
Đây là một suy nghĩ điên rồ, tại sao lại cho chạy hoài vậy? Khi nó chạy rồi sao làm việc đây? Đây là một suy nghĩ của nhiều người khi bắt đầu học lập trình. Có người còn bảo ra chợ mua một con chó bằng máy, lắp pin vào là nó chạy suốt ngày.
 
Upvote 0
Đây là một suy nghĩ điên rồ, tại sao lại cho chạy hoài vậy? Khi nó chạy rồi sao làm việc đây? Đây là một suy nghĩ của nhiều người khi bắt đầu học lập trình. Có người còn bảo ra chợ mua một con chó bằng máy, lắp pin vào là nó chạy suốt ngày.
Đây chỉ là một bài toán thôi bạn ơi, có thể áp dụng để làm ứng dụng đồng hồ bấm giờ chẳng hạn, sao bị gọi là điên rồ chứ, học lập trình cái quan trọng vẫn là ý tưởng, và sẽ không có một cái ý tưởng nào gọi là điên rồ (theo nghĩa đen) như bạn nói cả
 
Upvote 0
Đây chỉ là một bài toán thôi bạn ơi, có thể áp dụng để làm ứng dụng đồng hồ bấm giờ chẳng hạn, sao bị gọi là điên rồ chứ, học lập trình cái quan trọng vẫn là ý tưởng, và sẽ không có một cái ý tưởng nào gọi là điên rồ (theo nghĩa đen) như bạn nói cả
Vậy thì nêu thẳng vấn đề là làm cái đồng hồ cho chạy vậy. Bạn copy đoạn code sau vào Module.
Mã:
Public Sub lTime()
Sheet1.[a1].Value = Now()
Application.OnTime Now() + TimeValue("00:00:01"), "lTime"
End Sub


Public Sub auto_open()
Call lTime
End Sub
Còn muốn điều khiển bật tắt thời gian thì xem file mẫu.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
像这样子的么?
Mã:
Private Sub CommandButton1_Click()
  Static blnFlag As Boolean
  Dim I As Long
  
  On Error Resume Next
  blnFlag = Not blnFlag
  With Range("A1")
    I = Val(.Value)
    Do While blnFlag
      I = IIf(I = &H7FFFFFFF, 0, I + 1)
      .Value = I
      DoEvents
    Loop
  End With
End Sub
 
Upvote 0
Giống như âm nhạc vậy
người ta không cần hiểu ngôn ngữ, vẫn có thể cảm nhận cái hay cái đẹp của nó
========
code vba cũng giống vậy sao ta???....hihihihiih
 
Upvote 0
像这样子的么?
Mã:
Private Sub CommandButton1_Click()
  Static blnFlag As Boolean
  Dim I As Long
  
  On Error Resume Next
  blnFlag = Not blnFlag
  With Range("A1")
    I = Val(.Value)
    Do While blnFlag
      I = IIf(I = &H7FFFFFFF, 0, I + 1)
      .Value = I
      DoEvents
    Loop
  End With
End Sub
Miình nghĩ là Thầy đã trở lại diễn đàn, chúc Thầy vui khỏe!
 
Upvote 0
Nếu gú gồ trăng lét tiếng Việt được thì cũng có thể trăng lét ngược lại.
Tôi không nghĩ Nam Cung Phiêu Tuyết này là nhân vật "Thầy" quý vị muốn nói.
Anh nọ rất kỹ lưỡng, khi viết code thường giải thích giải thuật của mình rõ ràng.

Nhưng mà cái đó đi xa chủ đề.
Chủ yếu là khi chạy vòng lặp, code không còn để ý "lắng nghe sự kiện" (listen to events) nữa. Cho nên code bẫy sự kiện sẽ không hoạt động.
Một trong những cách buộc code phải "lắng nghe" là gọi phương thức DoEvents bên trong vòng lặp. Đại khái là vậy. Có những lý do khiến tôi không tiện giải thích thêm. Nếu người viết code muốn giải thích thì quý vị có thể hỏi thẳng y.
 
Upvote 0
Web KT

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

Back
Top Bottom