Hình như file này bạn đã đưa lên rất nhiều lần rồi thì phải?Chào anh chị GPE! Em có file "phieu ban le" có ghi câu hỏi ở trong file. Anh chị vui lòng xem và thiết kế dùm em đoạn code nhé! Thanks
@ndundu96081631: Theo em nghĩ, Header của cùng 1 phiếu nên copy xuống cho các dòng detail luôn, lỡ họ sort dữ liệu ở sheet General là coi như toi (râu ông nọ cắm cằm bà kia)Hình như file này bạn đã đưa lên rất nhiều lần rồi thì phải?
Cái này viết code không khó, chỉ dài dòng thôi
Bạn xem thử file này (chỉ là gợi ý, có thể phải sửa lại)
Private Sub CommandButton1_Click()
Dim Diengiai As Range
Set Diengiai = Range([C15], [C15].End(xlDown))
Thongbao = MsgBox("Ban muon cap nhat du lieu moi?", vbYesNo)
If Thongbao = vbYes Then
With Sheet2.Range("G65536").End(xlUp).Offset(1, -6)
.Offset(, 0).Resize(Diengiai.Rows.Count) = [D8]
.Offset(, 1).Resize(Diengiai.Rows.Count) = Format(Now, "dd/mm/yyyy")
.Offset(, 2).Resize(Diengiai.Rows.Count) = [G10]
.Offset(, 3).Resize(Diengiai.Rows.Count) = [G11]
.Offset(, 4).Resize(Diengiai.Rows.Count) = [C12]
.Offset(, 5).Resize(Diengiai.Rows.Count) = [G12]
.Offset(, 6).Resize(Diengiai.Rows.Count).Value = Diengiai.Value
.Offset(, 7).Resize(Diengiai.Rows.Count).Value = Diengiai.Offset(, 1).Value
.Offset(, 8).Resize(Diengiai.Rows.Count).Value = Diengiai.Offset(, 2).Value
.Offset(, 9).Resize(Diengiai.Rows.Count).Value = Diengiai.Offset(, 3).Value
.Offset(, 10).Resize(Diengiai.Rows.Count).Value = Diengiai.Offset(, 4).Value
End With
Else: Exit Sub
End If
End Sub
Đồng ý chổ này...@ndundu96081631: Theo em nghĩ, Header của cùng 1 phiếu nên copy xuống cho các dòng detail luôn, lỡ họ sort dữ liệu ở sheet General là coi như toi (râu ông nọ cắm cằm bà kia)
.
= Format(Now, "dd/mm/yyyy")
.Offset(, 1) = Now: .Offset(, 1).NumberFormat = "dd/mm/yyyy"
Bạn nói nó nhảy lung tung, vậy bạn giữ nguyên trạng "lung tung" ấy đưa lên đây xem thử là "lung tung" như thế nào nhéEm đã down file của anh về xem nhưng sao em xóa dữ liệu ở sheet General để cập nhật lại thì dữ liệu nhảy lung tung vậy anh?
Public k As Integer
Private Sub CommandButton1_Click()
k = k + 1
Cells(8, 4).NumberFormat = "000"
Cells(8, 4) = k
Dim Diengiai As Range
Set Diengiai = Range([C15], [C15].End(xlDown))
Thongbao = MsgBox("Ban muon cap nhat du lieu moi?", vbYesNo)
If Thongbao = vbYes Then
With Sheet2.Range("G65536").End(xlUp).Offset(1, -6)
.Offset(, 0) = [D8]
.Offset(, 1) = Now: .Offset(, 1).NumberFormat = "dd/mm/yyyy"
.Offset(, 2) = [G10]
.Offset(, 3) = [G11]
.Offset(, 4) = [C12]
.Offset(, 5) = [G12]
.Offset(, 6).Resize(Diengiai.Rows.Count, 5).Value = Diengiai.Resize(Diengiai.Rows.Count, 5).Value
End With
Else: Exit Sub
End If
End Sub
OK, về phần rút gọn thì hoàn toàn ổnEm xin phép rút ngắn một chút và viết giúp bạn ý cập nhật số phiếu tăng sau mỗi lần clickPHP:Public k As Integer Private Sub CommandButton1_Click() k = k + 1 Cells(8, 4).NumberFormat = "000" Cells(8, 4) = k Dim Diengiai As Range Set Diengiai = Range([C15], [C15].End(xlDown)) Thongbao = MsgBox("Ban muon cap nhat du lieu moi?", vbYesNo) If Thongbao = vbYes Then With Sheet2.Range("G65536").End(xlUp).Offset(1, -6) .Offset(, 0) = [D8] .Offset(, 1) = Now: .Offset(, 1).NumberFormat = "dd/mm/yyyy" .Offset(, 2) = [G10] .Offset(, 3) = [G11] .Offset(, 4) = [C12] .Offset(, 5) = [G12] .Offset(, 6).Resize(Diengiai.Rows.Count, 5).Value = Diengiai.Resize(Diengiai.Rows.Count, 5).Value End With Else: Exit Sub End If End Sub
Không biết có sai không???
Các Anh chỉ thêm cho nhé
With Cells(8, 4)
.NumberFormat = "000"
.Value = .Value + 1
End With
Public k As Integer
k = k + 1
Cells(8, 4).NumberFormat = "000"
Cells(8, 4) = k
With Cells(8, 4)
.NumberFormat = "000"
.Value = .Value + 1
End With
- Click phải vào thanh Toolbars, chọn Control Toolbox (hoặc vào menu View\Toolbars và check vào mục Control Toolbox)Cám ơn các bạn nhé.
Tôi đã xem bài viết trả lời và đã thử nghiệm ứng dụng thấy rất hay.
Nhưng tôi còn chưa biết cách tạo ra Nút lệnh " Cập Nhật " trên bảng tính Phiếu như thế nào ?
Mong Hồi âm của các bác - Hướng dẫn chỉ giúp
Chân thành cám ơn./.
Private Sub CommandButton1_Click()
End Sub