Private Sub Cmdcapnhat_Click()
Dim eR As Integer
eR = Sheet1.[A65536].End(xlUp).Row
With Sheet1
.Cells(eR, eR).EntireRow.Insert
.Cells(eR, 2) = Me.TextBox1
.Cells(eR, 3) = Me.TextBox2
.Cells(eR, 4) = Me.TextBox3
.Cells(eR, 5) = Me.TextBox4
End With
End Sub
Bạn sửa lại như thế nàybạn giúp mình với, mình muốn kiểm tra dữ liệu xem có trùng nhau không nếu trùng thì thông báo có ghi đè hay không và sao khi ghi thì dữ liệu trên form sẽ xóa đi.
Private Sub Cmdcapnhat_Click()
Dim eR As Integer
Dim Tim As Range
eR = Sheet1.[A65536].End(xlUp).Row
With Sheet1
Set Tim = .Range("b7:b100").Find(TextBox1, LookIn:=xlFormulas, Lookat:=xlWhole)
If Tim Is Nothing Then
.Cells(eR, eR).EntireRow.Insert
.Cells(eR, 2) = Me.TextBox1
.Cells(eR, 3) = Me.TextBox2
.Cells(eR, 4) = Me.TextBox3
.Cells(eR, 5) = Me.TextBox4
Else
Tl = MsgBox("Ban muon ghi de hay khong?", vbYesNo, "Thong bao")
If Tl = vbYes Then
Tim = Me.TextBox1
Tim.Offset(, 1) = Me.TextBox2
Tim.Offset(, 2) = Me.TextBox3
Tim.Offset(, 3) = Me.TextBox4
ElseIf Tl = vbNo Then
Me.TextBox1 = ""
Me.TextBox2 = ""
Me.TextBox3 = ""
Me.TextBox4 = ""
End If
End If
End With
End Sub
code trên là chèn dòng trên 1 dòng đã có dữ liệu. vậy giờ mình muốn chèn 1 dòng trên dòng có dữ liệu cố định thì là cách nào:Bạn dùng cái này xem
Mã:Private Sub Cmdcapnhat_Click() Dim eR As Integer eR = Sheet1.[A65536].End(xlUp).Row With Sheet1 .Cells(eR, eR).EntireRow.Insert .Cells(eR, 2) = Me.TextBox1 .Cells(eR, 3) = Me.TextBox2 .Cells(eR, 4) = Me.TextBox3 .Cells(eR, 5) = Me.TextBox4 End With End Sub
Vấn đề của bạn đó là:code trên là chèn dòng trên 1 dòng đã có dữ liệu. vậy giờ mình muốn chèn 1 dòng trên dòng có dữ liệu cố định thì là cách nào:
VD: trong bảng tính mình có 2 dòng có dữ liệu cố định là row8= tổng cộng a; row17= tổng cộng b. Vậy mình muốn chèn thêm dòng trên dòng có dữ liệu là tổng cộng a thì viết code như thế nào.
Rất mong được A/C hướng dẫn và giúp đỡ.
Em đã tìm trên các trang web và diễn đàn rồi, nhưng ko biết cách thực hiện vì mới học VBA, rất mong được sự quan tâm giúp đỡ từ các A/c. em chân thành cảm ơn
Range("A65536").End(xlUp)
Range("A65536").End(xlUp).EntireRow.Insert
Bạn hiểu sai ý mình rồi, nếu xác định dòng thì nó chỉ chèn trên dòng cố định đó thôi, mình muốn chèn có điều khiện là khi ô có dữ liệu "tổng cộng" thì chèn trên nó. rất mong được sự hướng dẫn của bạn, mình xin cảm ơn bạn trước vì đã quan tâm đến bài của mình.Vấn đề của bạn đó là:
1/ Xác định dòng cuối cùng trong bang
2/ Chèn dòng lên trên dòng đó
Vậy đi từng bước:
1/ Để xác định dòng cuối cùng thì bạn dung code
Để chèn thêm 1 dòng lên trên dòng cuối cùng thì bạn dungMã:Range("A65536").End(xlUp)
. Thủ thuật bạn ghi Macro rồi làm theo là okMã:Range("A65536").End(xlUp).EntireRow.Insert