Kết quả 1 đến 9 của 9

Chủ đề: Làm Sao Nhập Dữ Liệu Vào ListBox Để Cho Dàn Trang Ra Một Hàng Ngang

  1. #1
    Tôi gợi ý cho bạn thực hiện Code của mình.
    1/ Trong Listbox có thuộc tính ListIndex để chỉ ra vị trí dòng hiện hành => bạn hãy lấy chỉ số này ra để biết dòng đang được chọn là thứ mấy (Tạm gọi là biến iLb, iLb luôn bắt đầu từ 0)
    2/ Sau khi có iLb việc tiếp theo là đập dữ liệu xuống sheet. Do bạn chỉ dùng 1 hàng ngang nên vấn đề phát sinh chỉ là số cột Cells(hàng, cột)
    Bạn để ý nhé:
    - Dòng 1 của Listbox bắt đầu là cột số (1-1)*4+1
    - Dòng 2 của Listbox bắt đầu là (2-1)*4+1 => cột E
    - Dòng 3 của Listbox bắt đầu là (3-1)*4 -1 => cột I
    Vậy với những dữ liệu trên bạn hoàn toàn có thể viết được Code tương ứng.

  2. #2
    linhphukientaythuc Guest
    Em cảm ơn Anh ,em sẽ cố gắng hoàn thành sau những gợi ý của anh...mong sẽ nhận được những lời chia sẽ khác từ các Anh/Chị

  3. #3
    khanhcool Guest

    Làm Sao Nhập Dữ Liệu Vào ListBox Để Cho Dàn Trang Ra Một Hàng Ngang

    Em xin chào các Anh/Chị trên diễn đàn giaiphapexcel !

    Em có một vấn đề nan giải khi nhập dữ liệu theo dòng em muốn dòng bên dưới chuyển ngang hàng với dòng đầu tiên và cứ thế tiếp tục dàn trang ra, vì dữ liệu nhập vào của em đòi hỏi nhập nhiều mã mặt hàng cùng một lúc.em có tài liệu đính kèm gửi các Anh/Chị.

    Em xin chân thành cảm ơn các Anh/Chị đọc được bài này và sữa lỗi giùm theo ý em muốn!

  4. #4
    hienpq Guest
    Không rõ bạn muốn hỏi về công thức fill dữ liệu theo chiều ngang hay cách đưa mảng rải đều vào list box, tôi trả lời theo mũi tên của bạn vậy.

    Công thức đưa dữ liệu theo chiều ngang là: Tại E2

    Mã:
    =OFFSET($A$2,ROW(1:1),MOD(COLUMN(D:D),4))

  5. #5
    thailee Guest
    Em cảm ơn anh,ý em là khi em nhập vào listox mặc dù các dữ liệu sau khi xuống dòng thì sẽ tự nhảy qua vùng tại E2,dòng 3 nhảy qua vùng tiếp theo...vv

  6. #6
    dienlanh_hanoi Guest
    Em muốn nói rõ hơn về phần khúc mắc của em như sau: khi em nhập dữ liệu vào listbox vd được 3 dòng(như file em đã gửi), thì dòng 1 sẽ xuất hiện ở vùng ("A"),dòng 2 sẽ xuất hiện ở vùng("E:H"),dòng 3 sẽ xuất hiện ở vùng ("I:L").Em mong nhận được sự giúp đỡ từ các Anh/Chị!

  7. #7
    hoaian Guest
    Chào Anh dhn46, anh có thể giúp em giải quyết một vấn đề nảy ra cũng trong ví dụ này được không, sau lần nhập đầu tiền vd em nhập được 3 dòng,lần gọi from thứ 2 thì trong listbox dữ liệu 3 dòng trước vẫn hiện lên,em muốn sau lần nhập thứ 2 các dữ liệu cũ sẽ không hiện trong listbox nữa và sau lần nhập thứ 2 khi em add dữ liệu vào thì nó vẫn dàn trang giống như vấn đề đầu tiên em đã yêu cầu và nhảy xuống dòng tiếp theo

  8. #8
    vivaclinic Guest
    Làm cho bạn trên chính Form bạn gửi với cách lấy dữ liệu lên listbox còn phần sửa bạn tự làm.

    Mã:
    Private Sub masp_Change()
        Dim Arr, ArrLB
        Dim iR As Long, jC As Long, k As Long, t As Long
        Arr = Range("A2").Resize(1000, Range("A1").End(xlToRight).Column)
        Msp = Me.masp.Text
        ReDim ArrLB(1 To 10000, 1 To 4)
        For iR = 1 To UBound(Arr, 1)
            For jC = 1 To UBound(Arr, 2) Step 4
                If CStr(Arr(iR, jC)) = Msp Then
                    k = k + 1
                    For t = 0 To 3
                        ArrLB(k, t + 1) = Arr(iR, jC + t)
                    Next
                Else
                    Exit For
                End If
            Next
        Next
        ListBox1.RowSource = ""
        ListBox1.Clear
        If k Then
            Me.ListBox1.List() = ArrLB
        End If
    End Sub

  9. #9
    datxanhmb81 Guest
    Em vô cùng cảm ơn anh! không biết anh có dự sinh nhật lần thứ 9 ở TP.HCM không vậy?

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •