Nhờ các anh chị hướng dẫn em giải quyết thêm 1 vấn đề này nữa. Cám ơn các anh chị trước
Trong LV của em có những dòng rỗng không có dữ liệu vậy mình có cách nào để khi load LV lên thì nó sẽ ẩn những dòng đó đi hoặc Remove nó không ? (chỉ remove tren LV thôi)
Mấu chốt vấn đề cũng sẽ quy về dữ liệu nguồn mà thôi. Bạn có thể nói rõ, dòng dữ liệu như thế nào là "rỗng" trong phần data của bạn thì chắc sẽ có cách giải quyết!
Như vậy, trong file của bạn, có những dòng thành tiền >0 nhưng không có số lượng, đơn giá, đơn vị tính thì có đưa vào không?Em muốn là số tiền bằng không trong VD (Cột thành tiền) này thì không đưa vào LV. Tức là Cột thành tiền khác 0 thí đưa vào.
Vậy định dạng để không thấy số 0 được không?
C1: Dùng Options: Vào Tools -> Options -> Bỏ Check ở dòng Zero Values.
C2: Dùng Format Cells: Quét chọn vùng Thành Tiền -> Nhấn phải chuột chọn Format Cells -> Chọn Custome -> Trong khung Type: gõ:
#,##0;#,##0;""
Hoặc:
[=0]"";#,##0
Thân.
Như vậy, trong file của bạn, có những dòng thành tiền >0 nhưng không có số lượng, đơn giá, đơn vị tính thì có đưa vào không?
Vậy chỉ cần lồng vào If ... Then ... Else là xong. bạn xem file đính kèm. Ấn Ctrl+Shift+L để xem kết quả!da đưa tất cả vào hết anh miễn sao cột Thành tiền >0 là đưa vào hết
da đưa tất cả vào hết anh miễn sao cột Thành tiền >0 là đưa vào hết
Cái cột C trong file của bạn, tiêu đề của nó là gì vậy! Có cần thiết không? Nếu cần thì phải sửa code lại! Vì code file trước không lấy cột C, vì file trước bạn gửi, cột C không có dữ liệu, không có tiêu đề cột --> mình nghĩ là không cần thiết.Đây là file ví dụ em gởi kèm
Private Sub UserForm_Activate()
Dim mDetail As ListItem
Me.ListView1.ColumnHeaders.Clear: Me.ListView1.ListItems.Clear
''Load sheet1 to Listview1:
''Gán ColumnHeader tương ứng:
For i = 1 To 9
Me.ListView1.ColumnHeaders.Add , , Sheet1.Cells(9, i)
Next i
''--------------------------------------------------
''Gán Detail tương ứng:
For i = 1 To Sheet1.[H65536].End(xlUp).Row - 9
If IsNumeric(Sheet1.Cells(i + 9, "H")) And Sheet1.Cells(i + 9, "H") > 0 Then
Set mDetail = Me.ListView1.ListItems.Add(, , Sheet1.Cells(i + 9, "A"))
For J = 1 To 8
mDetail.SubItems(J) = Sheet1.Cells(i + 9, J + 1)
Next J
End If
Next i
End Sub
From ThuyYeu99:
Cám ơn anh Ca_dafi nhiều đúng yêu cầu em đề ra rồi
Các bạn giúp tôi đoạn code chuyển chức năng "automatic" sang "manual" và ngược lại trong Tool/Option/Caculation. Vì tôi đang thiết lập sheets1 chứa rất nhiều công thức mảng lấy dữ liệu từ sheets2.và vùng đặt trước trong sheets1 rất lớn nên khi nhập dữ liệu chậm.
Tiện thể hướng dẫn giúp tôi thiết lập name động (offset...).
Chân thành cảm ơn.
Bạn mở file mới, tạo form, thêm Listview sau đo mở Properties chọn mục Custom. Vào đó tất cả chi phối thuộc tính riêng của nó.Quậy tít mù lên xem sao?Xin hỏi ListView có thuộc tính nào giống như thuộc tính ColumnsWidth và ColumnsCount của Listbox, nhờ đó ta có thể ấn định bề rộng cũng như số lượng cột của ListView ngay trong quá trình thiết kế.
Trân trọng.
Trong vba chỉ có ControlTipTextCám ơn các bạn đã giúp đỡ mình.
Xin cho mình hỏi thêm: trong listview mình thấy có ControlTipText và ToolTipText. Hai cái này khác nhau thế nào?
.
Chỉ có cách làm dùng Api.Có cách nào để khi người dùng di chuyển chuột trên mỗi đầu cột thì TipText sẽ thay đổi nội dung một cách tương ứng.
Trân trọng.