[Giúp mình với]!! Mình muốn tạo VBA thêm dòng.

Thảo luận trong 'Excel và VBA' bắt đầu bởi KATE Arnold, 9/1/18.

  1. KATE Arnold

    KATE Arnold New Member Hội viên mới

    Tình hình là như này! Mình mới tập tành mày mò để học VBA nhưng kiến thức còn ít. Mà tính ra mới tình hiểu được vài hôm.
    Mong có bác nào giúp hoặc hướng dẫn mình tạo 1 VBA thêm dòng với điều kiện:
    VD: - mình có 1 Table thứ nhất ở sheet 1 và Table thứ hai ở sheet 2.
    ------- khi nhập dữ liệu xong ở Table 1 thì số dòng là 5, vậy khi chạy macro thì Table 2 sẽ có số dòng gấp đôi số dòng Table 1 ( nghĩa là 10 dòng ).
     

    Các file đính kèm:

    • ABC.rar
      Kích thước:
      7.5 KB
      Đọc:
      59

  2. TQChanh

    TQChanh Member Hội viên mới

    Vấn đề của bạn là sau khi nhập xong 5 dòng ở Sh1 thì tăng 10 dòng ở Sh2; Nhưng mươi dòng này chứa những gì vậy?

    Đừng nói là chứa gì cũng được à nha!
     
    KATE Arnold thích bài này.
  3. KATE Arnold

    KATE Arnold New Member Hội viên mới

    :D . Table 1 mình sẽ nhập dữ liệu còn Table 2 mình sẽ nhập công thức để lấy dữ liệu từ Table 1.
    Vậy nên mình muốn tạo 1 cái VBA để chủ yếu là đồng bộ số dòng giữa 2 Table thôi bạn, và điều kiện dĩ nhiên là số dòng Table 2 gấp 2 lần Table 1. Không biết bạn có thể giúp mình được không
     
  4. Trần Đức Nguyên

    Trần Đức Nguyên New Member Hội viên mới

    Ý bạn là tạo 10 dòng trống, k chứa gì hết hay sao.
     
    KATE Arnold thích bài này.
  5. KATE Arnold

    KATE Arnold New Member Hội viên mới

    Ý tưởng của mình là như thế này:
    Mình sẽ tạo ra 1 Table dữ liệu, và Table thứ 2 chứa công thức đã nạp sẵn. Bây giờ mình muốn tạo VBA để điều chỉnh số dòng của Table thứ 2.
    [Gọi x là (số dòng Table 1) nhân cho 2
    y là số dòng Table 2
    Nếu x = y thì hiện bảng thông báo thành công, sai thì ( nếu x>y thì thêm 1 dòng ở Table 2, x<y thì xoá đi 1 dòng ở Table 2) lặp lại đến khi điều kiện đúng.]
    Dạng như vậy á! Có thể giúp mình k?
     
  6. TQChanh

    TQChanh Member Hội viên mới

    #04 có hỏi bạn là trên những dòng thêm đó có công thức gì hay để trống?
    Nên trả lời câu hỏi, không nên trả lời thứ mình đang hiểu.
    Theo mình đoán thì sẽ fải chứa công thức trong ~ dòng mới thêm đó
    Nhưng fải thất mặt mũi công thức đó thì mới thêm xuống dưới được.
     
    KATE Arnold thích bài này.
  7. KATE Arnold

    KATE Arnold New Member Hội viên mới

    Cảm ơn bạn đã quan tâm!!! Mình xin trả lời lại là Những dòng đó sẽ có công thức được gán vào nhưng
    ( Do Mình sử dụng chế độ bảng và đã gán sẵn công thức vào các cột đó rồi , nên khi mình thêm dòng thì những công thức đó sẽ tự động được gắn vào mà k cần nhập lại :D )
    VD như file excel mình ví dụ dưới đây.
    Bạn có thể giúp mình không :help:
     

    Các file đính kèm:

    • ABC.rar
      Kích thước:
      8 KB
      Đọc:
      53
    TQChanh thích bài này.
  8. TQChanh

    TQChanh Member Hội viên mới

    Rất xin lỗi bạn vì sự chậm trễ này:
    PHP:
    Sub TangGiamDong()
    Dim Dg As LongHg As Long
    Dim MSG 
    As String
    Dg 
    * ([b3].CurrentRegion.Rows.Count 1)
    With Sheets("GPE")
      
    Hg = .[B5].CurrentRegion.Rows.Count 1
      
    If Dg Hg Then
      MsgBox 
    "Xin Chào!", , "GPE.COM"
      
    ElseIf Dg Hg Then
      Hg 
    Dg Hg:  MSG "Thêm Xong " Hg " Dòng"
      
    .Rows("6:6").Resize(Hg).Insert Shift:=xlDown
      
    ElseIf Dg Hg Then
      Hg 
    Hg Dg:  MSG "Xóa Xong " Hg " Dòng"
      
    .Rows("6:6").Resize(Hg).Delete Shift:=xlDown
      End 
    If
    End With
    MsgBox MSG
    End Sub
    Sheet2 => "GPE"
     
    KATE Arnold thích bài này.
  9. KATE Arnold

    KATE Arnold New Member Hội viên mới

    Cảm ơn bạn rất nhiều :D , bạn có thể giúp mình thêm chổ ".Rows("6:6").Resize(Hg).Insert Shift:=xlDown" thành địa chỉ có thể thay đổi theo vị trí của Table được không. Rất cảm ơn :tungtangdichoi:
     
  10. TQChanh

    TQChanh Member Hội viên mới

    Chưa thực sự hiểu câu này:
    " thêm chổ ".Rows("6:6").Resize(Hg).Insert Shift:=xlDown" thành địa chỉ có thể thay đổi theo vị trí của Table được không."
     
  11. KATE Arnold

    KATE Arnold New Member Hội viên mới

    theo mình hiểu chỗ ".Rows("6:6").Resize(Hg).Insert Shift:=xlDown" là địa chỉ cố định để thêm dòng vào, nhưng nếu vị trí của Table bị thay đổi do vô tình ( vd ban đầu là vị trí A6:E10, nhưng bị thay đổi do vô ý thành B10:F16 ) thì có lẽ sẽ bị lỗi vì vị trí thêm dòng không đúng?
    Có thể điều chỉnh thành địa chỉ theo vị trí không bạn? ( vd ban đầu là vị trí A6:E10 thì vị trí thêm dòng là "6:6", nhưng bị thay đổi do vô ý thành B10:F16 thì vị trí thêm dòng là "10:10") hoặc là chổ thêm dòng sẽ là ô B10 thay vì ô A6, vì khi thêm dòng tại 1 ô nào bất kỳ trong Table thì nguyên Table sẽ tự động thêm 1 dòng cho tất cả các cột còn lại.

    Ý mình là vậy ! :^_^:
     

Chia sẻ trang này

XenForo Add-ons by Brivium ™ © 2012-2013 Brivium LLC.