Kết quả 1 đến 8 của 8

Chủ đề: Code VBA Lấy mã số từ 1 dãy mã số cho trước bằng sự kiện SpinButton1_Change

  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Code VBA Lấy mã số từ 1 dãy mã số cho trước bằng sự kiện SpinButton1_Change

    Em có một dãy mã số nằm ở cột AH <font color="black">trên sheet2 . Em rất mong được mọi người giúp em code (VBA)cho nút bấm (SpinButton1) như sau:
    - Khi em nhập mã số bất kỳ tại ô B2 trên sheet1 và em bấm vào nút tiến hoặc lùi thì code kiểm tra mã số trên ô B2 có trong dãy số ở cột AH của sheet2 hay không. Nếu mã số này có tồn tại trên cột AH thì ô B2 trên sheet1 tự động tăng hoặc giảm đi 1 tương ứng với nút tiến hoặc lùi.
    -Nếu mã được nhập tại ô B2 trên sheet1 mà không tồn tại trong cột AH của sheet 2 thì ô B2 trên sheet1 tự động lấy mã số lớn nhất có trong cột AH của sheet2 tương ứng với nút tiến; B2 trên sheet1 tự động lấy mã số nhỏ nhất có trong cột AH của sheet2 tương ứng với nút lùi.
    - Em xin cảm ơn!.</font>

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Bạn xem thử, file có đáp ứng iêu cầu không?

  3. #3
    kimdung247 Guest
    Trích dẫn Gửi bởi HYen17
    Bạn xem thử, file có đáp ứng iêu cầu không?
    - Híc híc máy tính của em bị hỏng. Em mượn tạm máy của đứa em dùng một lúc!.
    - Em cảm ơn Bác nhiều!.
    - Bác ơi: Chưa được ạ!. Ví dụ: Theo File của Bác nếu ô B2 em chọn là số 9 khi em bấm vào nút tiến thì giá trị tại ô B2 này phải là số 10; nếu em tiếp tục nút tiến bấm thì giá trị ô B2 này phải là số 11. Nói cách khác là ô B2 nó lấy giá trị tăng lên tăng lên khi bấm nút tăng và ngược lại với nút giảm. Giá trị của cột AH ở sheet 2 là không thay đổi. Code của Bác lại Thay đổi cả giá trị của cột AH này và không tăng giá trị tại ô B2.
    - Em ví dụ thêm!. Giả sử tại ô B2 em nhập số 50 sau đó em bấm nút tiến. Vì số 50 không có trong cột AH của sheet2 thì code tự động lấy số lớn nhất trong dãy mã số ở cột AH về ô B2 (ở file ban đầu em gửi thì nó phải là số 26; Nếu em bấm nút lùi thì nó phải là số 1)
    - Em mong được Các Bác giúp em với a!. Em xin cảm ơn nhiều!.

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    [QUOTE="HYen17"]Bạn sửa lại 1 dòng lệnh trong macro sau giúp mình:


    Dim Tmp% : Đây là báo biến Tmp để dùng "%" là kiểu biển gì vậy Bác
    + Thứ 2:

    Tmp = IIf(TL = "D", -1, 1) Câu này em hiểu là biến Tmp được tăng hoặc giảm khi ta tác động vào nút: SpinButton1_SpinDown hoặc SpinButton1_SpinUp có đúng không ạ?
    + Thứ 3:

    Randomize em chưa hiểu từ này
    Em cảm ơn Bác thật nhiều ạ!.

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    + Thứ 1: Dim Tmp% : Đây là báo biến Tmp để dùng "%" là kiểu biển gì vậy Bác


    + Thứ 2:
    Tmp = IIf(TL = "D", -1, 1) Câu này em hiểu là biến Tmp được tăng hoặc giảm khi ta tác động vào nút: SpinButton1_SpinDown hoặc SpinButton1_SpinUp có đúng không ạ?


    + Thứ 3:
    Randomize em chưa hiểu từ này


    Em cảm ơn Bác thật nhiều ạ!.
    (1) Dim Tmp As Interger
    Dim Tmp%

    (2) Biến Tmp sẽ nhận 1 trong 2 trị, đó là -1 hay +1

    (3) Randomize: Khởi động bộ tạo số ngẫu (nhiên)

  6. #6
    calebss Guest
    Bạn sửa lại 1 dòng lệnh trong macro sau giúp mình:

    Mã nguồn PHP:
    Sub GPE(TL$) Dim Sh As Worksheet, Rng As Range, sRng As Range Dim Tmp% Tmp = IIf(TL = "D", -1, 1) Set Sh = ThisWorkbook.Worksheets("Sheet2") Set Rng = Sh.Range(Sh.[ah6], Sh.[ah6].End(xlDown)) Set sRng = Rng.Find([b2].Value, , xlFormulas, xlWhole) If sRng Is Nothing Then If TL = "U" Then [b2].Value = Application.WorksheetFunction.Max(Rng) MsgBox "UP" ElseIf TL = "D" Then [b2].Value = Application.WorksheetFunction.Min(Rng) MsgBox "Down" End If Else [b2].Value = [b2].Value + (Tmp) ' <=| ' End IfEnd Sub  

  7. #7
    maijenny Guest
    Trích dẫn Gửi bởi HYen17
    (1) Dim Tmp As Interger
    Dim Tmp%

    (2) Biến Tmp sẽ nhận 1 trong 2 trị, đó là -1 hay +1

    (3) Randomize: Khởi động bộ tạo số ngẫu (nhiên)
    Em cảm ơn sự hướng dẫn và giúp đỡ của Bác nhiều ạ.
    - Còn một vấn đề nữa là: Trong sub GPE (TL$). Thông thường thì em thấy mọi người khai báo là: GPE(); ở đây thì trong dấu () của Bác là: (TL$). Em mong được bác giải thích giúp em với ạ.
    - Nếu có bài viết nào liên quan đến những thứ nằm trong dấu () đó thì Bác và mọi người biết chỉ giúp em với ạ. Em xin trân thành cảm ơn!. [IMG]images/smilies/a36.gif[/IMG]Híc[IMG]images/smilies/a36.gif[/IMG] híc, máy tính của em đang bị hỏng, phải dùng bằng điện thoại khó chịu quá.

  8. #8
    kulu193 Guest
    Trích dẫn Gửi bởi Thuyanhanoi
    + Thứ 1: Dim Tmp% : Đây là báo biến Tmp để dùng "%" là kiểu biển gì vậy Bác
    Cho nó tổng quát:

    Identifier type character
    Data type
    Example

    %
    Integer
    Dim i%

    &
    Long
    Dim j&

    @
    Decimal
    Const n@ = 22.5

    !
    Single
    Dim M!

    #
    Double
    Dim X#

    $
    String
    Dim strg$ = "GPE"

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •