nhờ các anh sửa giùm em file của anh bate gửi cho e với. em muốn:- bấm nút "NHẬP KHÁCH HÀNG MỚI" thì ô STT mới nhảy lên 1 đơn vị và tự động xóa trắng màn hình chứ không phải là bấm nút "SAVE".(về phần này em thấy file của anh Good-Luck lại được như ý em).- bấm nút "SAVE" chỉ có tác dụng lưu chứ không có tác dụng xóa trắng màn hinh(xóa trắng dữ liệu mới nhập- chỉnh sửa). thank các bác.
đây là bải chỉnh sử lần cuối bạn muốn nhảy cóc như thế nào tùy bạn " tức những dòng nào bạn muốn bỏ qua thi ghi số thư tự dòng vào bảng đó (theo số thứ tự của bạn excel quy định) số dòng muốn bỏ là bao nhiêu thì tùy bạn nhập vảo BẢNG NHẢY CÓC phía dưới là được"
số dòng được nhảy cóc ở bang nhập thì cũng đồng nghĩa nó bỏ qua ở bảng data và bạn muốn dùng công thức gì trong đó điều được
Luu Y : ko sử dụng chức năng
MergeCells cho cột A và cột B nha
[GPECODE=vb]Option ExplicitSub ThemKH()
Application.ScreenUpdating = False
Dim source(), i%, STT%, Z%, nc(), n%, L%
With Sheets(1)
source = .Range(.[a2], .[a65000].End(xlUp)).Resize(, 2).Value
nc = .Range(.[g9], .[g65000].End(xlUp)).Value
End With
With Sheets(2)
STT = .Range(.[a1], .[a65000].End(xlUp)).Count
If STT < source(1, 2) Then
L = STT
Else
L = source(1, 2)
End If
If source(2, 2) = "" Then
If source(4, 2) = "" Then
.Cells(source(1, 2) + 1, 1).EntireRow.Delete
For Z = 2 To STT - 1
.Cells(Z, 1) = Z - 1
L = L - 1
Next Z
End If
Else
.Cells(1, 1).EntireRow.Clear
.Cells(1, 1) = source(1, 1)
With .Cells(1, 1)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.Interior.Color = Sheets(1).Range("a3").Interior.Color
.Font.Bold = True
.Font.Size = Sheets(1).Range("a3").Font.Size
End With
.Cells(1 + L, 1).EntireRow.ClearContents
.Cells(L + 1, 1) = L
For i = 2 To UBound(source, 1)
.Cells(1, i) = source(i, 1)
With .Cells(1, i)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.Interior.Color = Sheets(1).Range("a3").Interior.Color
.Font.Bold = True
.Font.Size = Sheets(1).Range("a3").Font.Size
End With
For n = 1 To UBound(nc)
If i + 1 = nc(n, 1) Then
GoTo nhan
End If
Next n
.Cells(L + 1, i) = source(i, 2)
nhan:
Next i
End If
End With
MsgBox "Them moi / sua doi hoan tat" & Chr(13) & Chr(10) & "So thu tu hien tai la : " & source(1, 2) & Chr(13) & Chr(10) & "Duoc thay bang : " & L, vbOKOnly + vbInformation, "LUU Y"
Application.ScreenUpdating = True
End Sub
Sub nhapmoi()
Dim SoMoi%, DL(), i%, n%, source%, nc()
With Sheets(2)
SoMoi = .Range(.[a1], .[a65000].End(xlUp)).Count
End With
With Sheets(1)
.[b2] = SoMoi
source = .Range(.[a1], .[a65000].End(xlUp)).Count
nc = .Range(.[g9], .[g65000].End(xlUp)).Value
For i = 3 To source
For n = 1 To UBound(nc)
If i = nc(n, 1) Then
.Cells(i, 2).Interior.Color = vbBlue
GoTo nhan
End If
Next n
.Cells(i, 2).Interior.Color = .Range("d3").Interior.Color
.Cells(i, 2).ClearContents
nhan:
Next i
End With
End Sub
Sub TimKH()
Application.ScreenUpdating = False
Dim SoCot%, TSource(), J%, k%, nc(), n%
With Sheets(2)
SoCot = .Range(.[a1], .[a100].End(xlToLeft)).Count
TSource = .Range(.[a1], .[a65000].End(xlUp)).Resize(, SoCot).Value
End With
With Sheets(1)
nc = .Range(.[g9], .[g65000].End(xlUp)).Value
For k = 1 To UBound(TSource, 1)
If TSource(k, 1) = .[b2].Value Then
For J = 2 To SoCot
For n = 1 To UBound(nc)
If J + 1 = nc(n, 1) Then
GoTo nhan
End If
Next n
.Cells(J + 1, 2) = TSource(k, J)
nhan:
Next J
End If
Next k
End With
Application.ScreenUpdating = True
End Sub
[/GPECODE]
chẳng hiệu tại sao bảng data lại muốn nhảy cóc để làm gì ??? viết công thức ở bên nhập thì còn chấp nhận, mà sao lại viết công thức ở data , trong khi đó đã dùng code đưa dự liệu từ nhập sang data rôi
ui za!!! muốn nhảy cóc thì phải nhảy cả 3, biết vậy sự biến chung cho tiện, mà làm xong hết dám nhìn lại, nhìn lại ko biết gì luôn