Giúp code xóa dữ liệu, và nhập dữ liệu theo điều kiện Mã hàng (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chào cả nhà GPE !
Chúc cả nhà 1 ngày làm việc vui và hiệu quả !
Em cần 2 đoạn code để xóa dữ liệunhập dữ liệu như sau
File của em gồm 3 cột Mã hàng, Số lượng, Ghi chú

Code xóa dữ liệu : Ví dụ dòng nào có tên mã hàng trong điều kiện thì xóa dòng đó và sau khi xóa xong thì tự động gom lại dữ liệu ( vì sau khi xóa xuất hiện các dòng trống )
Code nhập dữ liệu : Ví dụ dòng nào có mã hàng trong điều kiện thì sẽ nhập giá trị cho ô ghi chú là "OK"

Các bạn giúp code dạng Mảng cho mình nhé. vì dữ liệu của mình nhiều dòng
Chi tiết em có gửi file. rất mong mọi người giúp đở. Mình xin chân thành cảm ơn
 

File đính kèm

Chào cả nhà GPE !
Chúc cả nhà 1 ngày làm việc vui và hiệu quả !
Em cần 2 đoạn code để xóa dữ liệunhập dữ liệu như sau
File của em gồm 3 cột Mã hàng, Số lượng, Ghi chú

Code xóa dữ liệu : Ví dụ dòng nào có tên mã hàng trong điều kiện thì xóa dòng đó và sau khi xóa xong thì tự động gom lại dữ liệu ( vì sau khi xóa xuất hiện các dòng trống )
Code nhập dữ liệu : Ví dụ dòng nào có mã hàng trong điều kiện thì sẽ nhập giá trị cho ô ghi chú là "OK"

Các bạn giúp code dạng Mảng cho mình nhé. vì dữ liệu của mình nhiều dòng
Chi tiết em có gửi file. rất mong mọi người giúp đở. Mình xin chân thành cảm ơn

Hai Sub tùy nghi sử dụng:
PHP:
Public Sub GhiCHu()
Dim Arr(), Dk As String, I As Long, R As Long
Dk = Range("H4").Value
Arr = Range("B4", Range("B4").End(xlDown)).Resize(, 3).Value
R = UBound(Arr)
For I = 1 To R
    If Arr(I, 1) = Dk Then Arr(I, 3) = "OK"
Next I
Range("B4").Resize(R, 3) = Arr
End Sub
'------------------------------------------------------------------------'
Public Sub XoaDong()
Dim sArr(), dArr(), Dk As String, I As Long, K As Long, R As Long
Dk = Range("H4") & "#" & Range("I4").Value
sArr = Range("B4", Range("B4").End(xlDown)).Resize(, 3).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 3)
For I = 1 To R
    If sArr(I, 1) & "#" & sArr(I, 2) <> Dk Then
        K = K + 1
            dArr(K, 1) = sArr(I, 1)
            dArr(K, 2) = sArr(I, 2)
            dArr(K, 3) = sArr(I, 3)
    End If
Next I
Range("B4").Resize(R, 3).ClearContents
Range("B4").Resize(K, 3) = dArr
End Sub
 
Upvote 0
Hai Sub tùy nghi sử dụng:
PHP:
Public Sub GhiCHu()
Dim Arr(), Dk As String, I As Long, R As Long
Dk = Range("H4").Value
Arr = Range("B4", Range("B4").End(xlDown)).Resize(, 3).Value
R = UBound(Arr)
For I = 1 To R
    If Arr(I, 1) = Dk Then Arr(I, 3) = "OK"
Next I
Range("B4").Resize(R, 3) = Arr
End Sub
'------------------------------------------------------------------------'
Public Sub XoaDong()
Dim sArr(), dArr(), Dk As String, I As Long, K As Long, R As Long
Dk = Range("H4") & "#" & Range("I4").Value
sArr = Range("B4", Range("B4").End(xlDown)).Resize(, 3).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 3)
For I = 1 To R
    If sArr(I, 1) & "#" & sArr(I, 2) <> Dk Then
        K = K + 1
            dArr(K, 1) = sArr(I, 1)
            dArr(K, 2) = sArr(I, 2)
            dArr(K, 3) = sArr(I, 3)
    End If
Next I
Range("B4").Resize(R, 3).ClearContents
Range("B4").Resize(K, 3) = dArr
End Sub

dạ em cảm ơn anh nhiều lắm. Nhưnh em vẫn không hiểu
tại sao lại <> mà không phải = ở đoạn này
If sArr(I, 1) & "#" & sArr(I, 2) <> Dk Then
 
Upvote 0
Anh ơi. Code anh chạy phân biệt chữ hoa chử thường, Em muốn sữa lại không phân biệt chữ HOA, chử thường. Ví dụ mã hàng là A hoặc a cũng được

Hai Sub tùy nghi sử dụng:
PHP:
Public Sub GhiCHu()
Dim Arr(), Dk As String, I As Long, R As Long
Dk = Range("H4").Value
Arr = Range("B4", Range("B4").End(xlDown)).Resize(, 3).Value
R = UBound(Arr)
For I = 1 To R
    If Arr(I, 1) = Dk Then Arr(I, 3) = "OK"
Next I
Range("B4").Resize(R, 3) = Arr
End Sub
'------------------------------------------------------------------------'
Public Sub XoaDong()
Dim sArr(), dArr(), Dk As String, I As Long, K As Long, R As Long
Dk = Range("H4") & "#" & Range("I4").Value
sArr = Range("B4", Range("B4").End(xlDown)).Resize(, 3).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 3)
For I = 1 To R
    If sArr(I, 1) & "#" & sArr(I, 2) <> Dk Then
        K = K + 1
            dArr(K, 1) = sArr(I, 1)
            dArr(K, 2) = sArr(I, 2)
            dArr(K, 3) = sArr(I, 3)
    End If
Next I
Range("B4").Resize(R, 3).ClearContents
Range("B4").Resize(K, 3) = dArr
End Sub
 
Upvote 0
Anh ơi. Code anh chạy phân biệt chữ hoa chử thường, Em muốn sữa lại không phân biệt chữ HOA, chử thường. Ví dụ mã hàng là A hoặc a cũng được

Trong code chỉnh lại 1 chút thôi, bạn tự chỉnh đi muốn aNh giống AnH dễ mà, nhưng với cấu trúc dữ liệu thì nhập aliBABA và ALIbaba "dzô dziêng" lắm.Sao không HOA hết hay thường hết? Đó là cái "lu bu" của người tạo mã đó.
 
Upvote 0
Trong code chỉnh lại 1 chút thôi, bạn tự chỉnh đi muốn aNh giống AnH dễ mà, nhưng với cấu trúc dữ liệu thì nhập aliBABA và ALIbaba "dzô dziêng" lắm.Sao không HOA hết hay thường hết? Đó là cái "lu bu" của người tạo mã đó.

Dạ anh sữa giúp em luôn đi. Tại dữ liệu xuất ra từ 1 phần mềm. thì cấu trúc dữ liệu nó như vậy mà anh. Em muốn nó Bằng giống như trong công thức Excel luôn. Ví dụ GPE = Gpe
 
Upvote 0
Trong code chỉnh lại 1 chút thôi, bạn tự chỉnh đi muốn aNh giống AnH dễ mà, nhưng với cấu trúc dữ liệu thì nhập aliBABA và ALIbaba "dzô dziêng" lắm.Sao không HOA hết hay thường hết? Đó là cái "lu bu" của người tạo mã đó.

dạ em tự sửa như thế này không biết có đúng không nhỉ. Anh xem kiểm tra giúp em

Mã:
Public Sub GhiCHu()
Dim Arr(), Dk As String, I As Long, R As Long
Dk = Range("H4").Value
Arr = Range("B4", Range("B4").End(xlDown)).Resize(, 3).Value
R = UBound(Arr)
For I = 1 To R
   [COLOR=#ff0000][B] If UCase(Arr(I, 1)) = UCase(Dk) Then Arr(I, 3) = "OK"[/B][/COLOR]
Next I
Range("B4").Resize(R, 3) = Arr
End Sub
'------------------------------------------------------------------------'
Public Sub XoaDong()
Dim sArr(), dArr(), Dk As String, I As Long, K As Long, R As Long
Dk = Range("H4") & "#" & Range("I4").Value
sArr = Range("B4", Range("B4").End(xlDown)).Resize(, 3).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 3)
For I = 1 To R
   [COLOR=#ff0000][B] If UCase(sArr(I, 1)) & "#" & sArr(I, 2) <> UCase(Dk) Then[/B][/COLOR]
        K = K + 1
            dArr(K, 1) = sArr(I, 1)
            dArr(K, 2) = sArr(I, 2)
            dArr(K, 3) = sArr(I, 3)
    End If
Next I
Range("B4").Resize(R, 3).ClearContents
Range("B4").Resize(K, 3) = dArr
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom