Đăng ký học Excel và VBA cùng GPE tháng 10 - TPHCM

Đăng ký học Excel và VBA cùng GPE tháng 11 - TPHCM

Học tập viết code VBA trong excel

Thảo luận trong 'Lập Trình với Excel' bắt đầu bởi khoaitd, 18 Tháng tư 2011.

  1. khoaitd

    khoaitd Thành viên mới

    Dear All,

    Minh đang tập viết macro cho Excel. Mong các bạn chỉ dẫn thên cho mình.

    VD: Mình có đoạn code sau:

    Sub Macro2()
    '
    ' Macro2 Macro
    '
    ' Keyboard Shortcut: Ctrl+q
    n = 0
    m = 0
    a = ActiveCell.Address
    Range(a).Select
    For n = 0 To 22
    Range("A2").Select
    ActiveCell.Offset(0, n).Copy
    ActiveCell.Offset(0, n).Select
    m = ActiveCell.Offset(-1, 0)
    If m = 1 Then
    Range(a).Select
    ActiveCell.Offset(0, n).PasteSpecial
    End If
    Next
    Range(a).Select
    End Sub

    Yêu cầu:
    - Mình muốn copy Công thứ từ 1 hàng cho trước đã format chuẩn.
    - Từ Bắt đầu từ o hiện hành ấn Ctrl - q sẽ copy từ dòng chuẩn xuống dòng hiện hành(dòng muốn copy)
    Ở đây dòng chuẩn là là dòng A2 (dòng A1 là dòng dùng để làm điều kiện để copy nếu = 1 thì copy, = 0thì không copy). Có tổng cộng 22 cột muốn copy.

    Đoạn code đã chạy ok. Tuy nhiên nhờ các bạn xem có cách viết nào tốt hơn không, để học hỏi và trao dồi thêm.
     
  2. Ếch Xanh

    Ếch Xanh Thành viên tích cực

    Có thể bạn gửi File lên cho dễ hình dung, chứ còn copy thì cần gì vòng lặp:

    PHP:
    Sub CopyCongThuc()
      If 
    ActiveCell.Row <= 2 Then Exit Sub
      
    If Sheet1.[A1] = 1 Then
        Sheet1
    .[A2:V2].Copy
        ActiveCell
    .PasteSpecial 2
      End 
    If
    End Sub
     

    Các file đính kèm:

    • Book1.xls
      Kích thước:
      37.5 KB
      Đọc:
      322
  3. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Lằng nhằng quá
    Chạy code, đoán ý... cuối cùng sửa lại thành vầy:
    PHP:
    Sub Macro2()
      If 
    Range("A1") = 1 Then Range("A2:W2").Copy Cells(ActiveCell.Row1)
    End Sub
     
  4. Ếch Xanh

    Ếch Xanh Thành viên tích cực

    Đúng là code Thầy quá hay và ngắn, tuy nhiên cần bẫy chút xíu ở hàng điều kiện và hàng công thức để tránh đặt nhầm chỗ rồi bấm chạy code thì lại ẹc ... ẹc ...

    PHP:
    Sub Macro2()
      If 
    ActiveCell.Row <= 2 Then Exit Sub
      
    If Range("A1") = 1 Then Range("A2:W2").Copy Cells(ActiveCell.Row1)
    End Sub
     
  5. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Ẹc... Ẹc... If ActiveCell.Row =1 Then Exit Sub là được rồi... ActiveCell.Row =2 đâu có vấn đề gì chứ
     
  6. khoaitd

    khoaitd Thành viên mới

  7. khoaitd

    khoaitd Thành viên mới

    Thank! Bạn Tuy nhiên điều kiện phải xét từng Cột. Nếu cốt nào mình muốn copy thì set nó =1 không thì cho no =0 để khỏi copy.
     
  8. ndu96081631

    ndu96081631 Ăn cùng GPE, Ở cùng GPE, Sống cùng GPE Staff Member Super Moderator

    Với file của bạn thì làm vầy:
    PHP:
    Sub Test()
      
    Dim i As Long
      
    If ActiveCell.Row 2 Then
        
    For 1 To 7
          
    If Cells(1i) = 1 Then Cells(3i).Copy Cells(ActiveCell.Rowi)
        
    Next
      End 
    If
    End Sub
     
  9. khoaitd

    khoaitd Thành viên mới

    Quá ngắn gọn Xin cảm ơn bác
     
  10. ktcauduongbo

    ktcauduongbo Thành viên mới

    Nhờ các anh chị em trên diễn đàn giúp đỡ

    Em có file exel này muốn viết một đoạn code vba, để khi mình gõ MHDM ở bảng PTDG thì công hang mục công việc bên bảng DINHMUC hiển thị trên bảng PTDG, mong các bác chỉ giáo giúp, em không biết VBA,
     
  11. ktcauduongbo

    ktcauduongbo Thành viên mới

    Em có file này mong các bác chỉ giáo giúp để lấy dự liệu từ bang dinhmuc sang bảng ptdg khi gõ mhdm vào bảng ptdg.
     
  12. nguyen_thi_yen

    nguyen_thi_yen Thành viên mới

    Nhờ mọi người trên diễn đàn có thể giúp em code VBA trong Excel để tổng hợp số liệu theo từ SHEET_TONG tạo ra các sheet mới cho mỗi quận , mỗi quận là một sheet theo mẫu ở sheet bieu1. Quận tân bình em đã làm tay và đã tổng hợp xong theo mẫu ở biểu sheet bieu1, còn lại 2 quận nữa em chưa làm chưa mọi người viết giùm em , ở đây là em đưa lên 3 quận, để nhờ mọi người viết giùm, thật ra số liệu nó rất lớn, còn nhiều quận khác nữa, em chỉ đưa lên 3 quận, nhờ mọi người viết giùm em để tiện cho việc tổng hợp. Trong sheet SHEET_TONG còn có nhiều quận khác nữa.Hihi
    Cảm ơn mọi người nhiều.
     

    Các file đính kèm:

  13. comet_1701

    comet_1701 Thành viên tiêu biểu

    Bạn là thành viên mới nên đọc nội quy diễn đàn kỹ bạn nhé, bạn chen ngang liên tiếp vào 3 topic ko liên quan gì đến vấn đề bạn đang hỏi, vô duyên quá trời luôn.
    Bạn nên mở một topic mới trong mục lập trình với Excel hoặc VBA
     
  14. nguyen_thi_yen

    nguyen_thi_yen Thành viên mới

    dạ,em biết rồi, cho em xin lỗi.
     
  15. vinhytexp

    vinhytexp Thành viên mới

    Viết code thay thế cho hàm IF và Vlookup, liên kết form.
    Em có File Excel nhưng chưa biết viết code để liên kết form vào sheet và code thay thế cho hàm if kết hợp Vlookup nhiều điều kiện. Vậy nên em tải file lên nhờ các anh chị trên diễn đàn giúp đỡ. Vì có nhiều vấn đề cần giải quyết nên không thể viết hết lên đây được, nên em viết cụ thể các vấn đề đó chong file rồi.
    Rất mong các anh chị, em sớm giúp đỡ. Em xin chân thành cảm ơn!
    Nếu có thể các anh, chị, em có thể giải càng cụ thể càng tốt để em được học hỏi.
     

    Các file đính kèm:

  16. Lê Duy Thương

    Lê Duy Thương CẠO LẤY GÌ GỘI ?

    cái này là viêt luôn ứng dụng cho bạn dùng chứ bạn có viết được đoạn code nào đâu.
    khi lên đây hỏi thì chỉ hỏi khi mình đã làm được cái gì đó rồi và đang bị bí. chứ xem file bạn yêu cầu tôi dắm chắc là không ai rãnh mà giúp bạn hết được các yêu cầu trong file. vì yêu cầu quá nhiều,+-+-+-+
     
  17. doveandrose

    doveandrose hello

    thì anh LDT cứ chọn đại 1 yêu cầu nào đó ngắn nhất trong đó để làm --=0--=0
     
  18. vinhytexp

    vinhytexp Thành viên mới

    Cảm ơn bác Lê Duy Thương đã chỉ bảo. Thật sự em chưa biết chút mào về Code cả. Các bác có thể giúp em viết phần Trong sheetDK_TIEM được không? Hoặc được ít nào hay ít đó. Còn liên kết Form thì để em mày mò học hỏi dần. Vì điều kiện của SheetDK_TIEM khó quá thật sự em không thể làm được, Mà tìm kiếm tài liệu thì hơi ít hơn so với tài liệu liên kết Form. Cảm ơn các bác nhiều
     
  19. Lê Duy Thương

    Lê Duy Thương CẠO LẤY GÌ GỘI ?

    Tôi thấy bạn nên giải thích thêm là
    Làm sao để xác định trẻ chưa được tiêm "BCG"?
    Làm sao để xác định trẻ đã được tiêm "Quivaxem1"?
    nếu xác định được cái này tôi nghĩ bạn sẽ làm được
     
  20. HYen17

    HYen17 Thành viên cằn cỗi.

    Tạm thời là vậy & bạn voọc cho thỏa tang bồng đi nha
     
    Lần chỉnh sửa cuối: 21 Tháng sáu 2016

Chia sẻ trang này