Nhập liệu từ nguồn dữ liệu động

Liên hệ QC

huongtinh1929

Premier Сasual Dating Real-life Girls
Tham gia
6/10/11
Bài viết
61
Được thích
4
Giới tính
Nam
Nghề nghiệp
Health
em sưu tầm trên mạng về xong em tuy biến để nguồn dữ liệu nguồn và vùng nhập được linh động hơn tuy nhiên tới bước nhập liệu thì lại bị lỗi không ghi được dữ liệu. Mong các bác chỉ giúp em xin cảm ơn nhiều!
 

File đính kèm

  • khong gi dc du lieu.xlsm
    37 KB · Đọc: 5
em sưu tầm trên mạng về xong em tuy biến để nguồn dữ liệu nguồn và vùng nhập được linh động hơn tuy nhiên tới bước nhập liệu thì lại bị lỗi không ghi được dữ liệu. Mong các bác chỉ giúp em xin cảm ơn nhiều!
Hình như trên mạng mỗi lần người ta cập nhật lại Names vào trong Form thì phải ( Vung du lieu, vùng áp dụng)
 
Lần chỉnh sửa cuối:
Upvote 0
em sưu tầm trên mạng về xong em tuy biến để nguồn dữ liệu nguồn và vùng nhập được linh động hơn tuy nhiên tới bước nhập liệu thì lại bị lỗi không ghi được dữ liệu. Mong các bác chỉ giúp em xin cảm ơn nhiều!
Làm phiếu xong sao không lưu nó vào sheet theo dõi.
Tham khảo File trong bài viết sau:
https://www.giaiphapexcel.com/diend...ruy-vấn-đơn-thuốc-nơi-phòng-khám-bệnh.126073/
 
Upvote 0
Nói chung nhanh nhất là đập đi làm lại. Nói chung là mệt.
1.
Mã:
Private Sub CMDADD_Click()
    ...    
    If ActiveCell.Column = 1 Then        
        For i = 0 To Dic.Count - 1            
            Cells(i + ActiveCell.Row, "A").Resize(, Cot) = Split(Arr(i), ";")            
        Next        
    End If    
    ...    
End Sub
Nếu người ta click vào cột B thì ActiveCell.Column = 2 và code chả ghi gì vào sheet.

2. Chọn vùng nguồn. Ý tưởng là gì? Có thể chọn vd. B4:B10 không hay phải chọn cả 5 cột A:E? Nếu là chọn cả 5 cột thì thực ra là chỉ chọn khoảng dòng từ ... đến. Còn code sẽ tự lấy 5 cột. Còn nếu là lấy hết cả vùng dữ liệu thì code tự lấy chứ bầy trò chọn làm gì?

Nhưng chọn cả 5 cột cũng mâu thuẫn với code sau
Mã:
Private Sub TXTFIND_Change()
    Cot = Range(VUNG.RefEdit2).Columns.Count               
    Arr = FilterMCLArray(sArray, Cot, TXTFIND.Text, True)    
    ...    
End Sub
Vì chọn 5 cột thì luôn có Cot = 5, vậy thì dòng Cot = Range(VUNG.RefEdit2).Columns.Count có để làm cảnh? Mà lúc đó thì luôn lọc theo cột 5, tức So_luong. Lọc theo So_luong?

Nếu không phải là luôn chọn 5 cột mà là có thể chọn 3 cột? Nếu thế thì trong ListBox sẽ chỉ có 3 cột và khi chọn trong ListBox ...
Mã:
Private Sub LBDMHH_Change()    
    Dim Id, i    
    Id = LBDMHH.ListIndex    
    With Me.LBDMHH        
        On Error Resume Next        
        If .Selected(Id) Then            
            If Not Dic.exists(.List(Id, 0)) Then                
                Dic.Add .List(Id, 0), .List(Id, 0) & ";" & .List(Id, 1) & ";" & .List(Id, 2) & ";" & .List(Id, 3) 
            End If            
        Else            
            Dic.Remove (.List(Id, 0))            
        End If        
    End With
End Sub
thì sẽ có lỗi tại dòng Dic.Add .List(Id, 0), .List(Id, 0) & ";" & .List(Id, 1) & ";" & .List(Id, 2) & ";" & .List(Id, 3). Do có On Error Resume Next nên lỗi bị lờ đi nhưng không có gì thêm vào Dic. Vì thế khi ghi xuống sheet thì không có gì để ghi.

Vân vân và vân vân.

Nói chung là không hiểu nhà thơ nghĩ gì, có ý gì
 
Upvote 0
Sao chủ bài đăng lại có thể có thói quen chừa dòng trống xen kẻ trong Code như vậy cơ chứ?
Cái cần hơn là để nguyên macro trong màn hính có vẻ như dễ quán xuyến hơn không?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT
Back
Top Bottom