Phương Thức Select (1 người xem)

  • Thread starter Thread starter DMQ
  • Ngày gửi Ngày gửi
Liên hệ QC

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

DMQ

Thành viên dốt
Tham gia
21/3/12
Bài viết
722
Được thích
57
Giới tính
Nam
Các AC cho em hỏi có phải trong phương thức Select thì Sheet được chọn Select không được ẩn(Hide) hả các AC. Như trong file đính kèm thì Sheet"ChiTiet" chọn "Hide" là code bị "Debug".
 

File đính kèm

Các AC cho em hỏi có phải trong phương thức Select thì Sheet được chọn Select không được ẩn(Hide) hả các AC. Như trong file đính kèm thì Sheet"ChiTiet" chọn "Hide" là code bị "Debug".
Đúng rồi bạn à. khi sheet được select thì trước tiên sheets đó phải được unhide trước đã nếu nó đang ở trạng thái hide
Mã:
Sub NhapLieu()
    Sheets("Form").Select
    Ten = Range("B3").Value
    DiaChi = Range("B4").Value
    Phone = Range("B5").Value
   [COLOR=#ff0000] If Sheets("chitiet").Visible = False Then
        Sheets("chitiet").Visible = True
    End If[/COLOR]
    Sheets("ChiTiet").Select
    n = Range("F1").Value
    Range("B1").Select
    ActiveCell.Offset(n + 3, 0).Value = Ten
    ActiveCell.Offset(n + 3, 1).Value = DiaChi
    ActiveCell.Offset(n + 3, 2).Value = Phone
    Sheets("Form").Select
    Range("B3:B5").Select
    Selection.ClearContents
    Range("B3").Select
   [COLOR=#ff0000] Sheets("chitiet").Visible = False[/COLOR]
End Sub
Phần code màu đỏ là kiểm tra sem sheet có hide không và unhide nó để thực hiện ghi dữ liệu.
Ghi xong ta thực hiện hide no luôn
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn nhe!!!! Mình còn nhiều điều phải học hỏi.
 
Upvote 0
Cám ơn bạn nhe!!!! Mình còn nhiều điều phải học hỏi.

bạn không cần phải select nó, vẫn có thể thực hiện được các thao tác
ví dụ
Mã:
Sub NhapLieu()
    with Sheets("Form")
    Ten = .Range("B3").Value
    DiaChi = .Range("B4").Value
    Phone = .Range("B5").Value
   end with
    with Sheets("ChiTiet")
    n = .Range("F1").Value
    .Range("B1").Offset(n + 3, 0).Value = Ten
    .[b1].Offset(n + 3, 1).Value = DiaChi
    .[b1].Offset(n + 3, 2).Value = Phone
end with
    with Sheets("Form")
    Range("B3:B5").ClearContents
   end with
End Sub

với cách này, nó giúp cho bạn khỏi nhảy qua nhảy lại giữa các sheet, làm màn hình cứ giật giật rất khó chịu, và tăng tốc đáng kể. bạn thử xem

bạn có thể viết lại cho ngắn như sau
Mã:
Sub NhapLieu()
    
    With Sheets("ChiTiet")
        n = .Range("F1").Value
        .[B1].Offset(n + 3, 0).Value = Sheet1.[b3]
        .[B1].Offset(n + 3, 1).Value = Sheet1.[b4]
        .[B1].Offset(n + 3, 2).Value = Sheet1.[b5]
    End With
    'neu ban dang o sheet khac thi them with còon ko thi bo no luon
    With Sheets("Form")
        .Range("B3:B5").ClearContents
        .Range("B3").Select
    End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom