Code tự chèn dòng và sao công thức

Liên hệ QC

vudinhgiao

Thành viên mới
Tham gia
31/7/16
Bài viết
47
Được thích
10
Do dữ liệu của cập nhật thường xuyên lên số dòng lớn. Nhờ các thầy cho em xin cái code VBA để tự chèn thêm dòng và copy công thức xuống luôn với ạ
 
Do dữ liệu của cập nhật thường xuyên lên số dòng lớn. Nhờ các thầy cho em xin cái code VBA để tự chèn thêm dòng và copy công thức xuống luôn với ạ
Không cần code nào, nhanh gọn, siêu xịn là: Chọn vùng dữ liệu đang làm, nhấn Ctrl + T, rồi enter là xong.
 
Upvote 0
Vấn đề là mình nhập liệu bằng userform lên muốn nó tự chèn thì tiện hơn bạn ạ
Thứ nhất, VBA còn dùng công thức thì kỳ lạ.
Thứ hai, cứ làm như bài #2 đi, VBA thêm dữ liệu thì nó vẫn hoàn toàn tự động thêm cái mình mong muốn. Chưa làm sao đã la làng rồi.
 
Upvote 0
File mẫu của em đây Kính nhờ các thầy sửa giúp
 

File đính kèm

  • Chèn dòng.xlsm
    570.3 KB · Đọc: 7
Upvote 0
File mẫu của em đây Kính nhờ các thầy sửa giúp
Thử chèn đoạn code dưới:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E3:E5000")) Is Nothing Then
    If Target.Count = 1 Then
        Target.Offset(, -2).Value = Date
        Target.Offset(, -1).Value = Time
        For i = 1 To 17
            If Cells(Target.Row - 1, i).HasFormula And i <> 5 Then
                Cells(Target.Row, i).FillDown
            End If
        Next i
        If Range("C65535").End(xlUp).Row - Target.Row = 2 _
            And Target.Row > 3 And Target.Value <> "" Then
            Target.Offset(1).Resize(2).EntireRow.Insert
        End If
    End If
End If
End Sub
P/s: file có 2 thư viện code được chèn vào, gỡ ra nếu dùng code này. Không nên mở nhiều bài viết trùng nhau, vi phạm nội quy diễn đàn.
 

File đính kèm

  • Chèn dòng.xlsm
    557.2 KB · Đọc: 13
Lần chỉnh sửa cuối:
Upvote 0
Thử chèn đoạn code dưới:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E3:E5000")) Is Nothing Then
    If Target.Count = 1 Then
        Target.Offset(, -2).Value = Date
        Target.Offset(, -1).Value = Time
        For i = 1 To 17
            If Cells(Target.Row - 1, i).HasFormula And i <> 5 Then
                Cells(Target.Row, i).FillDown
            End If
        Next i
        If Range("C65535").End(xlUp).Row - Target.Row = 2 _
            And Target.Row > 3 And Target.Value <> "" Then
            Target.Offset(1).Resize(2).EntireRow.Insert
        End If
    End If
End If
End Sub
P/s: file có 2 thư viện code được chèn vào, gỡ ra nếu dùng code này. Không nên mở nhiều bài viết trùng nhau, vi phạm nội quy diễn đàn.
Em cảm ơn ạ
 
Upvote 0
Web KT
Back
Top Bottom