code tìm phiếu bị sai (2 người xem)

  • Thread starter Thread starter quykh
  • Ngày gửi Ngày gửi

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

quykh

Chim non
Tham gia
7/9/11
Bài viết
381
Được thích
46
Giới tính
Nữ
Nghề nghiệp
Công Nhân
Em mới tập viết code tìm phiếu xuất, khi gỏ số phiếu vào C3 sheet 2 thì code sẽ tìm ra chi tiết của số phiếu đó,nhưng sao tham chiếu bị sai chổ nào mà cột tên hàng hóa lại lấy giá trị của cột mã số.(Cell C8 của sheet 2 bị sai),
 
Lần chỉnh sửa cuối:
PHP:
Option Explicit
Sub Loc_Co_DK()
Dim srcRng As Range, findRng As Range
Dim CellAddress As String, Count As Long
    ReDim ArrIndex(1 To 1)
    With Sheet2
        Set srcRng = Sheet1.Range(Sheet1.[C2], Sheet1.[C65536].End(xlUp))
        Set findRng = srcRng.Find(.[C3], LookIn:=xlValues, LookAt:=xlWhole)
        .[B8:F1000,C4,C5,C6].ClearContents
        If findRng Is Nothing Then
            MsgBox "Khong co so phieu nay!", , "Coi Lai!!!!"
            .[C3].ClearContents
        Else
            CellAddress = findRng.Address
            .[C4] = findRng.Offset(, -1).Value
            .[C5] = findRng.Offset(, 1).Value
            .[C6] = findRng.Offset(, 2).Value
            Do
                Count = Count + 1
                With .[b99].End(xlUp).Offset(1)
                    .Value = Count
                    .Offset(, 1).Value = findRng.Offset(, 3).Value
                    .Offset(, 2).Resize(, 2).Value = findRng.Offset(, 5).Resize(, 2).Value
                End With
                Set findRng = srcRng.FindNext(findRng)
            Loop Until findRng.Address = CellAddress
        End If
        Set findRng = Nothing:                          Set srcRng = Nothing
    End With
End Sub
 
Upvote 0
Cám ơn Bạn HYen17.Các Ac có thể giúp em viết code để sữa số lượng xuất khi tìm ra phiếu xuất được không Ah!!!
 
Upvote 0
Em mới tập viết code tìm phiếu xuất, khi gỏ số phiếu vào C3 sheet 2 thì code sẽ tìm ra chi tiết của số phiếu đó,nhưng sao tham chiếu bị sai chổ nào mà cột tên hàng hóa lại lấy giá trị của cột mã số.(Cell C8 của sheet 2 bị sai), Em gửi file mong các AC giúp đỡ.
Ngoài cách của Chị HYen17 ra, tôi viết cho bạn trên mảng:

Tôi sẽ dựa vào dữ liệu của Sheet1 để bẫy lỗi:

1) Xét xem đã có dữ liệu nào trong Sheet1 chưa

2) Xét xem dữ liệu chỉ có 1 hàng duy nhất

3) Xét nhiều hàng.

Vì khi làm việc với Array, tốc độ của nó có thể nói là rất nhanh, vì thế tôi viết cho bạn như sau:

Mã:
Sub Loc_co_dk()
    Dim r As Long
    r = Sheet1.Range(
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Em có thêm đoạn code này để sửa số lượng xuất và sort ngày, sao bị lỗi.Mong các AC giúp đỡ
Mã:
Sub SuaSLX()
Dim TenHH As Range, Count As Long
    Application.ScreenUpdating = False
    Set TenHH = Sheet2.[C65536].End(xlUp)
    Do While TenHH.Row > 7
        Count = Count + 1
        Sheet1.Range("I" & ArrIndex(UBound(ArrIndex) - Count + 1)).Value = TenHH.Offset(, 2).Value[B][COLOR=#ff0000]<----bị vàng chổ này[/COLOR][/B]
        Set TenHH = TenHH.Offset(-1)
    Loop
    MsgBox ("Sua phieu xong")
    SortNgay
    Sheet9.[B8:F1000,C3,C4,C5,C6].ClearContents
    Application.ScreenUpdating = True
End Sub
----------------------------------------------------------------------------------------------------------------
Sub SortNgay()
Dim Vung As Range
    With Sheet1
        Set Vung = .Range(.[B65536].End(xlUp), .[I2])
        Vung.Sort Key1:=.Range("B2"), Order1:=xlAscending, Header:=
            xlGuess , OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End With
End Sub
 
Upvote 0
Cám ơn Anh Nghĩa, Anh có thể giúp em sửa số lượng xuất khi tìm ra phiếu xuất không Ah, ví cốt yếu tìm phiếu xuất để sửa số lượng xuất thôi Ah!!!
 
Upvote 0
Cám ơn Anh Nghĩa, Anh có thể giúp em sửa số lượng xuất khi tìm ra phiếu xuất không Ah, ví cốt yếu tìm phiếu xuất để sửa số lượng xuất thôi Ah!!!
Sorry, giờ tôi phải về nhà (đang trực tại cơ quan), có gì nếu không ai giúp thì mai tôi sẽ giúp cho bạn.
 
Lần chỉnh sửa cuối:
Upvote 0
Em cũng tính làm một combobox ở Cell C3 của sheet 2 để chọn số phiếu cho nó dễ, nhưng em không biết cách lọc duy nhất cho combobox và dữ liệu của em có tới cả 1000 phiếu xuất nếu thế thì combobox rất dài. Mong Anh và Các AC giúp đỡ.
 
Upvote 0
Mình nghi câu này của Nghĩa:
[thongbao]Ngoài cách của Chị HYen17 ra, tôi viết cho bạn trên mảng:

Tôi sẽ dựa vào dữ liệu của Sheet1 để bẫy lỗi:

1) Xét xem đã có dữ liệu nào trong Sheet1 chưa

2) Xét xem dữ liệu chỉ có 1 hàng duy nhất

3) Xét nhiều hàng.

Vì khi làm việc với Array, tốc độ của nó có thể nói là rất nhanh, vì thế tôi viết cho bạn như sau:
[/thongbao]

chưa hẵn đúng trong trường hợp này, nên mình làm theo vầy trong cả 2 macro với 12200 dòng dữ liệu

Nghĩa thử kiểm trên máy của mình xem sao?
 

File đính kèm

Upvote 0
Thầy có thể giúp em chỉnh SL Xuất và Sort ngày được không Ah!!!
 
Upvote 0
Để chỉnh sửa số liệu sản lượng xuất trong 1 hóa đơn, theo tôi ta cần nhận xét "thường hóa" 1 fiếu xuất thực trong thực tiển:

Trong đời thường, 1 fiếu xuất hay nhập gồm chỉ chục mặt hàng (chục của tôi là chục "Rạch Giá" đó nha)
Cũng trong đời thường các mặt hàng này không lặp lại trong 1 hóa đơn (Có nghĩa là không có hơn 1 dòng của 1 mặt hàng cụ thể nào đó.
Chỉ khi đó ta mới chỉnh sửa số liệu xuất nhập của háo đơn theo í muốn.
Tuy nhiên, cũng trong thuc tế, mỗi mặt hàng đều có mã duy nhất của nó (Trong dữ liệu của bạn chưa có điều này)
Nếu đã có mã mặt hàng thì chuyện chỉnh sửa số liệu là điều không khó.

Còn chuyện sắp xếp theo cột ngày tháng, thì ta có thể xếp theo cột fụ thôi.
 
Upvote 0
Ở Sheet 1 em có cột mã số mà Chị(Xin lỗi có phải là Chị Không???). Chị coi giúp em với!!!
 
Upvote 0
Như Chị nói đúng trên hóa đơn người ta chỉ viết một mặt hàng thôi chứ không có chuyện cùng một mặt hàng mà hai dòng, nên em chỉ muốn chỉnh số lượng xuất thôi(có thể vì lý do gỏ lộn..VV ..). Mong Chị và Các AC giúp đỡ!!!
 
Upvote 0
Xin bạn xem file đính kèm
(Theo mình VBA dù gì cũng là 1 ngôn ngữ; Nên bạn cần diễn dịch để hiểu nó trước khi xài)
 

File đính kèm

Upvote 0
Sao File của Thầy không chạy khi gỏ chọn số phiếu và cũng không sửa được số lượng xuất. Mong Thầy giúp.
 
Upvote 0
Như Chị nói đúng trên hóa đơn người ta chỉ viết một mặt hàng thôi chứ không có chuyện cùng một mặt hàng mà hai dòng, nên em chỉ muốn chỉnh số lượng xuất thôi(có thể vì lý do gỏ lộn..VV ..). Mong Chị và Các AC giúp đỡ!!!
Vậy sao không thử thế này
 

File đính kèm

Upvote 0
Sao File của Thầy không chạy khi gỏ chọn số phiếu và cũng không sửa được số lượng xuất. Mong Thầy giúp.

(Bạn cần đọc & dịch các macro!)

Macro sư kiện đã được chuyển sang [F1], do có thêm cột [Mã hàng] để còn cập nhật số liệu sau khi sửa.


Trước khi bấm vô nút "Sủa", bạn cần chọn 1 ô bất kì thuộc hàng (dòng) ô vừa sửa đổi số liệu
 
Upvote 0
Cám Ơn Anh Quang Hai, nhưng sửa số lượng xuất thì sao Anh. Anh giúp em với!!!!
 
Upvote 0

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

Back
Top Bottom