Chuyên mục xử lý, gỡ rối code VBA (1 người xem)

Liên hệ QC

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

Status
Không mở trả lời sau này.

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,957
To: vova2209.
Phải viết là: FixRowHight Sheet21.Range("A1:Z71")
Còn muốn viết kiểu bạn thì phải dùng tên Sheet và tên Sheet không được dùng ký tự đặc biệt như cặp lá yêu thương đó và không dùng tiếng Việt.
 
Upvote 0
To: vova2209.
Phải viết là: FixRowHight Sheet21.Range("A1:Z71")
Còn muốn viết kiểu bạn thì phải dùng tên Sheet và tên Sheet không được dùng ký tự đặc biệt như cặp lá yêu thương đó và không dùng tiếng Việt.
Vâng! em cảm ơn a nhiều ạ, code chạy được rồi..
 
Upvote 0
Mình định tự động mở ValidateList bằng tổ hợp phím Alt+Mũi tên xuống bằng lệnh SendKeys "%Down"

Sub Macro1()
Application.SendKeys "%Down"
End Sub

Macro này không lỗi nhưng Không biết tại sao nó không có tác dụng (không mở ValidateList).
Nhờ các bạn trợ giúp. Thanks!
 

File đính kèm

Upvote 0
Nhờ mod xóa giúp (bài gửi 2 lần)
 
Upvote 0
Mình định tự động mở ValidateList bằng tổ hợp phím Alt+Mũi tên xuống bằng lệnh SendKeys "%Down"

Sub Macro1()
Application.SendKeys "%Down"
End Sub

Macro này không lỗi nhưng Không biết tại sao nó không có tác dụng (không mở ValidateList).
Nhờ các bạn trợ giúp. Thanks!
ValidateList thấy lạ quá...
Hóa ra là Data Validation

Ở bên thớt này đang bàn luận về cái đó, anh xem có thông tin gì không.
http://www.giaiphapexcel.com/diendan/threads/tìm-kiếm-trong-data-validation-excel.127658/

Chúc anh ngày vui!
 
Upvote 0
Chào anh chị GPE
em có đoạn code bên dưới mỗi khi chạy xuất hiện bảng thông tin bên dưới, em muốn bỏ thì điều chỉnh ở dòng nào ạ.
mong anh chị xem và hướng dẫn giúp em. em cám ơn nhiều
upload_2017-7-23_20-11-12.png
PHP:
Sub SetDN()
Dim i As Integer
Dim lastRow As Long
Dim lastRow1 As Long
    For i = 2 To 20
        If Sheets("Pickticket").Range("A" & i).Value <> Empty Then
            Sheets("Pickticket").Range("A" & i).Copy
            Sheets("DN").Range("A2").PasteSpecial Paste:=xlPasteValues
            Sheets("CTN_LPN_Checking").Range("A2").PasteSpecial Paste:=xlPasteValues
            With Sheets("DN")
                lastRow = .Range("A10").Value
                .PageSetup.PrintArea = "C1:S" & lastRow
    Range("D11:P11").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWorkbook.Worksheets("DN").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("DN").Sort.SortFields.Add Key:=Range("D12:D500"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("DN").Sort.SortFields.Add Key:=Range("F12:F500"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
                With Sheets("DN").Sort
                    .SetRange Range("D11:P500")
                    .Header = xlYes
                    .MatchCase = False
                    .Orientation = xlTopToBottom
                    .SortMethod = xlPinYin
                    .Apply
                End With
            End With
                With Sheets("DN").PageSetup
                .PrintTitleRows = "$10:$10"
                End With
                With Sheets("CTN_LPN_Checking")
                    lastRow1 = .Range("A4").Value
                    .PageSetup.PrintArea = "C1:I" & lastRow1
                End With
                With Sheets("CTN_LPN_Checking").PageSetup
                .PrintTitleRows = "$1:$6"
                End With
                Sheets("DN").Copy after:=Sheets("DN")
                Sheets("CTN_LPN_Checking").Copy after:=Sheets("CTN_LPN_Checking")
        End If
    Next i
End Sub
 
Upvote 0
Chào anh chị GPE
em có đoạn code bên dưới mỗi khi chạy xuất hiện bảng thông tin bên dưới, em muốn bỏ thì điều chỉnh ở dòng nào ạ.
mong anh chị xem và hướng dẫn giúp em. em cám ơn nhiều

Bạn thử thêm câu nàu xem có được không
Application.EnableEvents = False
 
Upvote 0
Upvote 0
Mình định tự động mở ValidateList bằng tổ hợp phím Alt+Mũi tên xuống bằng lệnh SendKeys "%Down"

Sub Macro1()
Application.SendKeys "%Down"
End Sub

Macro này không lỗi nhưng Không biết tại sao nó không có tác dụng (không mở ValidateList).
Nhờ các bạn trợ giúp. Thanks!
Hình như phải vầy anh à
Application.SendKeys "%{Down}"
 
Upvote 0
Upvote 0
Chay bằng phìm f5 cungc vẫn không được
SendKey thì cửa sổ nào đang active (hiện hành) thì nó send key tại cửa sổ đó.
Anh đang trong cửa sổ VBA mà nhấn F5 (Run) thì nó chạy dòng send key đó, tức là nhấn tổ hợp phím Alt + Arrow Down trong cửa sổ VBA. Khi đó thì đúng là anh chẳng thấy cái gì rồi.
 
Upvote 0
Ý mình là câu lệnh đó nó không có tác dụng trên màn hình. Trong bài không thấy nói về xử lý tình huống này.
Thế thì anh chưa đọc hết topic đó rồi. Ngay bài #1 của topic đó có nói SendKey bị "mất phím Numlock". Không tin anh kiểm tra Numlock sau mỗi lần SendKey xem.


Theo bài #826 có gợi ý cho anh rồi. Do anh dùng shape để gán macro thì shape đó không giữ được setFocus tại cell hiện hành (không biết sau khi send key thì nó nhảy đi đâu, rồi mới về cell hiện hành).
Anh có thể thử nghiệm: Click chuột trái và giữ im vào cái shape đó xem. Sau khi nhả chuột thì thấy gì..

Anh không dùng shape để gán macro nữa, thử theo bài #826 đó anh.
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom