Trang 3/87 đầuđầu 1 2 3 4 5 6 7 13 53 ... cuốicuối
Hiển thị kết quả tìm kiếm từ 21 đến 30 trên tổng số: 867

Ðề tài: Chuyên đề giải đáp những thắc mắc về code VBA

  1. Giúp làm ngắn đoạn code này

    Nhờ các bạn trên diễn đàn giúp mình làm ngắn đoạn code này và khoa học hơn với.
    mục đích của đoạn code này là kiểm tra tất cả các cột trong query "QR01_TKH_Import" có S=0 thì Hide những cột L tương ứng!
    Code:
    Private Sub PO_AfterUpdate()
    On Error GoTo loi
        If (DLookup("S01", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L01.Properties("ColumnHidden") = True
        Else
            L01.Properties("ColumnHidden") = False
        End If
        If (DLookup("S02", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L02.Properties("ColumnHidden") = True
        Else
            L02.Properties("ColumnHidden") = False
        End If
        If (DLookup("S03", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L03.Properties("ColumnHidden") = True
        Else
            L03.Properties("ColumnHidden") = False
        End If
        If (DLookup("S04", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L04.Properties("ColumnHidden") = True
        Else
            L04.Properties("ColumnHidden") = False
        End If
        If (DLookup("S05", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L05.Properties("ColumnHidden") = True
        Else
            L05.Properties("ColumnHidden") = True
        End If
        If (DLookup("S06", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L06.Properties("ColumnHidden") = True
        Else
            L06.Properties("ColumnHidden") = True
        End If
        If (DLookup("S07", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L07.Properties("ColumnHidden") = True
        Else
            L07.Properties("ColumnHidden") = True
        End If
        If (DLookup("S08", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L08.Properties("ColumnHidden") = True
        Else
            L08.Properties("ColumnHidden") = True
        End If
        If (DLookup("S09", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L09.Properties("ColumnHidden") = True
        Else
            L09.Properties("ColumnHidden") = True
        End If
        If (DLookup("S10", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L10.Properties("ColumnHidden") = True
        Else
            L10.Properties("ColumnHidden") = True
        End If
        If (DLookup("S11", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L11.Properties("ColumnHidden") = True
        Else
            L11.Properties("ColumnHidden") = True
        End If
        If (DLookup("S12", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L12.Properties("ColumnHidden") = True
        Else
            L12.Properties("ColumnHidden") = True
        End If
        If (DLookup("S13", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L13.Properties("ColumnHidden") = True
        Else
            L13.Properties("ColumnHidden") = True
        End If
        If (DLookup("S14", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L14.Properties("ColumnHidden") = True
        Else
            L14.Properties("ColumnHidden") = True
        End If
        If (DLookup("S15", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L15.Properties("ColumnHidden") = True
        Else
            L15.Properties("ColumnHidden") = True
        End If
        If (DLookup("S16", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L16.Properties("ColumnHidden") = True
        Else
            L16.Properties("ColumnHidden") = True
        End If
        If (DLookup("S17", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L17.Properties("ColumnHidden") = True
        Else
            L17.Properties("ColumnHidden") = True
        End If
        If (DLookup("S18", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L18.Properties("ColumnHidden") = True
        Else
            L18.Properties("ColumnHidden") = True
        End If
        If (DLookup("S19", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L19.Properties("ColumnHidden") = True
        Else
            L19.Properties("ColumnHidden") = True
        End If
        If (DLookup("S20", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L20.Properties("ColumnHidden") = True
        Else
            L20.Properties("ColumnHidden") = True
        End If
        If (DLookup("S21", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L21.Properties("ColumnHidden") = True
        Else
            L21.Properties("ColumnHidden") = True
        End If
        If (DLookup("S22", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L22.Properties("ColumnHidden") = True
        Else
            L22.Properties("ColumnHidden") = True
        End If
        If (DLookup("S23", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L23.Properties("ColumnHidden") = True
        Else
            L23.Properties("ColumnHidden") = True
        End If
        If (DLookup("S24", "QR01_TKH_Import", "POT='" & POT & "'") = 0) Then
            L24.Properties("ColumnHidden") = True
        Else
            L24.Properties("ColumnHidden") = True
        End If
        If (DLookup("S25", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L25.Properties("ColumnHidden") = True
        Else
            L25.Properties("ColumnHidden") = True
        End If
        If (DLookup("S26", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L26.Properties("ColumnHidden") = True
        Else
            L26.Properties("ColumnHidden") = True
        End If
        If (DLookup("S27", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L27.Properties("ColumnHidden") = True
        Else
            L27.Properties("ColumnHidden") = True
        End If
        If (DLookup("S28", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L28.Properties("ColumnHidden") = True
        Else
            L28.Properties("ColumnHidden") = True
        End If
        If (DLookup("S29", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L29.Properties("ColumnHidden") = True
        Else
            L29.Properties("ColumnHidden") = True
        End If
        If (DLookup("S30", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L30.Properties("ColumnHidden") = True
        Else
            L30.Properties("ColumnHidden") = True
        End If
        If (DLookup("S31", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L31.Properties("ColumnHidden") = True
        Else
            L31.Properties("ColumnHidden") = True
        End If
        If (DLookup("S32", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L32.Properties("ColumnHidden") = True
        Else
            L32.Properties("ColumnHidden") = True
        End If
        If (DLookup("S33", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L33.Properties("ColumnHidden") = True
        Else
            L33.Properties("ColumnHidden") = True
        End If
        If (DLookup("S34", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L34.Properties("ColumnHidden") = True
        Else
            L34.Properties("ColumnHidden") = True
        End If
        If (DLookup("S35", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L35.Properties("ColumnHidden") = True
        Else
            L35.Properties("ColumnHidden") = True
        End If
        If (DLookup("S36", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L36.Properties("ColumnHidden") = True
        Else
            L36.Properties("ColumnHidden") = True
        End If
        If (DLookup("S37", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L37.Properties("ColumnHidden") = True
        Else
            L37.Properties("ColumnHidden") = True
        End If
        If (DLookup("S38", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L38.Properties("ColumnHidden") = True
        Else
            L38.Properties("ColumnHidden") = True
        End If
        If (DLookup("S39", "QR01_TKH_Import", "POT='" & PO & "'") = 0) Then
            L39.Properties("ColumnHidden") = True
        Else
            L39.Properties("ColumnHidden") = True
        End If
        Exit Sub
    loi:
        MsgBox Err.Description
    End Sub
    Thanks!
    thay đổi nội dung bởi: huyhoang_mmyeht, 04-08-13 lúc 08:38 AM

  2. Hình như bạn dùng cho ACCESS thì phải. Bạn thử với cái này xem:

    Private Sub PO_AfterUpdate()
    On Error GoTo loi
    Dim i As Long, n As String
    For i = 1 To 39
    n = Format(i, "00")
    Fields("L" & n).Properties("ColumnHidden") = (DLookup("S" & n, "QR01_TKH_Import", "POT='" & PO & "'") = 0)
    Next
    Exit Sub
    loi:
    MsgBox Err.Description
    End Sub



    ===============================================

    Không biết code bạn viết có gì đặc biệt không, nhưng từ L05 trở đi thì tất cả các điều kiện cho ra giá trị là TRUE mà không phải là TRUE và FALSE.
    thay đổi nội dung bởi: Hoàng Trọng Nghĩa, 04-08-13 lúc 09:39 AM

  3. Mình dùng access bạn ơi!

    code của bạn bị lổi rồi!
    Fields("L" & n).Properties("ColumnHidden") = (DLookup("S" & n, "QR01_TKH_Import", "POT='" & PO & "'") = 0)
    nhờ bạn xem lại!

  4. Trích Nguyên văn bởi huyhoang_mmyeht View Post
    Mình dùng access bạn ơi!

    code của bạn bị lổi rồi!
    Fields("L" & n).Properties("ColumnHidden") = (DLookup("S" & n, "QR01_TKH_Import", "POT='" & PO & "'") = 0)
    nhờ bạn xem lại!
    Trước hết, code của bạn có chạy bị lỗi không? Tôi chỉ căn cứ code của bạn mà rút gọn thôi.

    Hay bạn thử gửi cái file đó lên xem sao. Tôi thấy thực tế sẽ dễ dàng thực hiện hơn.
    thay đổi nội dung bởi: Hoàng Trọng Nghĩa, 04-08-13 lúc 10:23 AM

  5. Mình xin nói lại ý đồ của mình là khi mình nhập PO thì tự động nó sẽ dò trong query có số lượng hay không nếu bằng không thì hide cột L tương ứng và cột S tương ứng trong hai sub form!
    Tập tin đính kèm Tập tin đính kèm

  6. Trích Nguyên văn bởi huyhoang_mmyeht View Post
    Mình xin nói lại ý đồ của mình là khi mình nhập PO thì tự động nó sẽ dò trong query có số lượng hay không nếu bằng không thì hide cột L tương ứng và cột S tương ứng trong hai sub form!
    Bạn gửi file lên tôi mới biết được mình phải làm gì. Bây giờ bạn thử chép đoạn code vào trong form bạn xem sao!

    Code:
    Private Sub PO_AfterUpdate()
        On Error GoTo loi
        Dim i As Long, n As String
        For i = 1 To 39
            n = Format(i, "00")
            Controls("L" & n).Properties("ColumnHidden") = (DLookup("S" & n, "QR01_TKH_Import", "PO='" & PO & "'") = 0)
        Next
        Exit Sub
    loi:
        MsgBox Err.Description
    End Sub

  7. Chân thành cảm ơn sự nhiệt tình của bạn!

    tiện cho mình hỏi mình muôn hide luôn những cột S* trong form sub _TKH_Import có số liệu =0 được không?

  8. Trích Nguyên văn bởi huyhoang_mmyeht View Post
    Chân thành cảm ơn sự nhiệt tình của bạn!

    tiện cho mình hỏi mình muôn hide luôn những cột S* trong form sub _TKH_Import có số liệu =0 được không?
    Được chứ bạn! Bạn chép code này để thay thế cho code trước bạn nhé!

    Code:
    Option Compare Database
    
    
    Private Sub PO_AfterUpdate()
        On Error GoTo loi
        Dim i As Long, n As String
        For i = 1 To 39
            n = Format(i, "00")
            If (DLookup("S" & n, "QR01_TKH_Import", "PO='" & PO & "'") = 0) Then
                Controls("L" & n).Properties("ColumnHidden") = True
                Form_F01_TKH_Import.Controls("S" & n).Properties("ColumnHidden") = True
            Else
                Controls("L" & n).Properties("ColumnHidden") = False
                Form_F01_TKH_Import.Controls("S" & n).Properties("ColumnHidden") = False
            End If
        Next
        Exit Sub
    loi:
        MsgBox Err.Description
    End Sub
    Hoặc muốn ngắn gọn hơn, bạn thêm một biến Boolean vào:

    Code:
    Private Sub PO_AfterUpdate()
        On Error GoTo loi
        Dim i As Long, n As String, IsTest As Boolean
        For i = 1 To 39
            n = Format(i, "00")
            IsTest = (DLookup("S" & n, "QR01_TKH_Import", "PO='" & PO & "'") = 0)
            Controls("L" & n).Properties("ColumnHidden") = IsTest
            Form_F01_TKH_Import.Controls("S" & n).Properties("ColumnHidden") = IsTest
        Next
        Exit Sub
    loi:
        MsgBox Err.Description
    End Sub
    thay đổi nội dung bởi: Hoàng Trọng Nghĩa, 05-08-13 lúc 11:22 AM

  9. Trích Nguyên văn bởi hungpecc1 View Post
    * Bạn thử record macro Hàm if() ---> sẽ suy ra cách viết trong vba ( cụ thể ở đây bạn thiếu dấu "")
    * Sau khi sửa được câu lệnh if, bạn sẽ gặp lỗi khi gán giá trị xuống sheet bằng câu lệnh :....=MyArr , vì trong mảng của bạn chứa 2 kiểu : 1 kiểu là range.value và 1 kiểu là range.formulaR1C1 sao mà được
    Vâng cám ơn Bác, vậy muốn gán Ô để chứa công thức IF đó thì E phải làm như thế nào ạ..? Cụ thể trong bài của E, mỗi lần ghi 1 dòng mới thì ô cuối cùng tự động gán 1 công thức if vào..!

  10. Cho mình hỏi thêm vấn đề như thế này với:
    Đoạn code sau mình muốn gán biến "myrange" của mình bằng vùng A2:A20
    Set myrange = .Worksheets("sheet1").[2:1 , 20:1]
    cho hỏi là cú pháp có sai không vây?

Trang 3/87 đầuđầu 1 2 3 4 5 6 7 13 53 ... cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •