Hỏi về Control tương tự như listview nhưng cho phép nhập dữ liệu trên nó (2 người xem)

Liên hệ QC

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

hoangdanh282vn

Nguyễn Cảnh Hoàng Danh
Thành viên danh dự
Tham gia
21/12/07
Bài viết
1,902
Được thích
5,306
Nghề nghiệp
Kinh doanh các mặt hàng văn phòng phẩm
Mình thấy một số phần mềm có phần để nhập liệu tương tự như listview. Các bạn cho mình hỏi là nó thuộc dạng control nào. Trong VBA có loại control này không?

Trong phần mềm HTKK, trên Form mình thầy có thanh Scrollbar để cuộn lên xuống màn hình nhập liệu (VD như phần Tờ khai thuế GTGT). Trong VBA mình có cách nào để có được chức năng tương tự như vậy không?

Mình xin cảm ơn
 
File của Ca_dafi khi mở lên nó hiện ra cái này

attachment.php


Bấm OK nó hiện tiếp:

attachment.php


OK cái nữa nó báo lổi:

attachment.php


Vào menu Tools\References thấy báo lỏi Missing...

attachment.php


Nhưng dù có Uncheck thì nó vẫn cứ báo lổi (mỗi khi double click lên cell)
------------------
Nếu gặp tình trạng này, hãy tải file MSCOMCT2.OCX về đăng ký là xong!
 

File đính kèm

  • untitled1.JPG
    untitled1.JPG
    16.8 KB · Đọc: 287
  • untitled2.JPG
    untitled2.JPG
    26.3 KB · Đọc: 255
  • untitled3.JPG
    untitled3.JPG
    9.2 KB · Đọc: 248
  • untitled4.JPG
    untitled4.JPG
    40.9 KB · Đọc: 257
Lần chỉnh sửa cuối:
Upvote 0
To: Anh Tuấn,
Anh đang dùng phiên bản Office nào?

Theo kinh nghiệm của em, thì em phải Update Office 2003 SP3 hoặc đối với Office 2007 cũng vậy. Mới tuần rồi mấy chương trình của em đều bị...sau khi em cập nhật thì OK.

Lê Văn Duyệt
 
Upvote 0
To: Anh Tuấn,
Anh đang dùng phiên bản Office nào?

Theo kinh nghiệm của em, thì em phải Update Office 2003 SP3 hoặc đối với Office 2007 cũng vậy. Mới tuần rồi mấy chương trình của em đều bị...sau khi em cập nhật thì OK.

Lê Văn Duyệt
Vừa mới tìm ra nguyên nhân ---> Thiếu MSCOMCT2.OCX Duyệt à
 
Upvote 0
Cái này em thấy tiện cho việc nhập dữ liệu từ form đưa vào bảng tính Excel: VD như bảng chấm công chẳng hạn. Viết code cho nó thì thế nào các bác nhỉ???
 
Upvote 0
Em thấy cái Subform này hay quá, sẽ từ từ nghiên cứu.
Còn một vấn đề nữa, đó là làm sao để khi chạy, ta có thể dùng chuột để kéo tăng hay giảm độ rộng của các cột lại được ah.
 
Upvote 0
Còn một vấn đề nữa, đó là làm sao để khi chạy, ta có thể dùng chuột để kéo tăng hay giảm độ rộng của các cột lại được ah.
Nhấn chọn đối tương-->Properties--> Customs-->Nhấn dấu ...-->Thẻ General
Tuỳ chọn trong mục:AllowUserResizing

Để xác định vị trí từng ô ta dùng thuộc tính Object.Row và Object.Col (Tính từ 0)
Để tạo tiêu đề cột ta nhập vào ô FormatString trong thẻ Styles |Tieu đề 1 | Tiêu đè 2 | ....

Lưu ý: Bạn đừng gọi là SubForm vì SubForm là Form nhúng trong Form còn đây là đối tượng trên Form
 
Lần chỉnh sửa cuối:
Upvote 0
Nhấn chọn đối tương-->Properties--> Customs-->Nhấn dấu ...-->Thẻ General
Tuỳ chọn trong mục:AllowUserResizing

Để xác định vị trí từng ô ta dùng thuộc tính Object.Row và Object.Col (Tính từ 0)
Để tạo tiêu đề cột ta nhập vào ô FormatString trong thẻ Styles |Tieu đề 1 | Tiêu đè 2 | ....

Lưu ý: Bạn đừng gọi là SubForm vì SubForm là Form nhúng trong Form còn đây là đối tượng trên Form

Viết code sao hả bác, kiểu này có vẻ mới quá nên em chưa biết viết code để gán vào sheet
 
Upvote 0
Viết code sao hả bác, kiểu này có vẻ mới quá nên em chưa biết viết code để gán vào sheet
VD nho nhỏ :
PHP:
[A1] = SubForm.TextMatrix(SubForm.Row, 1)


Sẵn đây các bạn cho mình hỏi làm sao có thể định dạng được dữ liệu nhập vào. VD như cột 2 định dạng là "dd/mm/yyyy", cột 3 định dạng là "#,##0"
 
Lần chỉnh sửa cuối:
Upvote 0
Mình ví dụ nạp dữ liệu từ sheet vào

Mã:
Private Sub nap()
With vsFlexArray1
For i = 1 To 20
For j = 1 To 3
.Row = i
.Col = j
.Text = Sheet1.Cells(i, j)
Next: Next
End With
End Sub
Bạn cứ định dạng bình thường
 
Upvote 0
Code nap có Format:
Mã:
Sub nap()
With vsFlexArray1
For i = 1 To 20
For j = 1 To 3
.Row = i
.Col = j
If IsDate(Sheet1.Cells(i, j)) Then
.Text = Format(Sheet1.Cells(i, j), "dd/mm/yyyy")
ElseIf IsNumeric(Sheet1.Cells(i, j)) Then
.Text = Format(Sheet1.Cells(i, j), "#,##0")
Else
.Text = Sheet1.Cells(i, j)
End If
Next: Next
End With
End Sub
 
Upvote 0
Mình ví dụ nạp dữ liệu từ sheet vào

Mã:
Private Sub nap()
With vsFlexArray1
For i = 1 To 20
For j = 1 To 3
.Row = i
.Col = j
.Text = Sheet1.Cells(i, j)
Next: Next
End With
End Sub
Bạn cứ định dạng bình thường

Đó là nạp từ sheet1 vào, thực hiện ngược lại thì làm sao hả bác, tức là nạp từ form vào sheet1 đó?
 
Upvote 0
Thì bạn đảo đi 1 chút:
Mã:
Private Sub nap()
With vsFlexArray1
For i = 1 To 20
For j = 1 To 3
.Row = i
.Col = j
Sheet1.Cells(i, j)=.Text
Next: Next
End With
End Sub
 
Upvote 0
Còn vấn đề về font chữ sao lại không gõ đwọc tiếng việt có dấu các bác nhỉ. Em đang dung font Unicode, gõ TeLex. Không biết trong form sử dụng font gì??? Bác náo biết chỉ giùm em với.
 
Upvote 0
Bạn vào Properties đổi ra font hố trợ tiếng Việt phù hợp Font của bạn. Bạn lưu ý các anh ấy đã nói là không hỗ trợ Unicode mà.
 
Upvote 0
Cái này có lẽ là mới và rất hay, mong mọi người tạo giúp một file dữ liệu hoàn chỉnh.
 
Upvote 0
Bạn vào Properties đổi ra font hố trợ tiếng Việt phù hợp Font của bạn. Bạn lưu ý các anh ấy đã nói là không hỗ trợ Unicode mà.
Chỉ nội 1 vụ không hổ trợ tiếng Việt Unicode là thấy làm biếng nghiêng cứu rồi.... Vì thời buổi này hầu hết chúng ta đều làm việc cho nước ngoài, nếu bắt buộc phải xài font của "ta" thì... AI XEM?
 
Upvote 0
Chỉ nội 1 vụ không hổ trợ tiếng Việt Unicode là thấy làm biếng nghiêng cứu rồi.... Vì thời buổi này hầu hết chúng ta đều làm việc cho nước ngoài, nếu bắt buộc phải xài font của "ta" thì... AI XEM?
Hì hì! Sao làm biếng vậy anh! Nếu làm việc cho nước ngoài thì mắc gì phải dùng Tiếng Việt Unicode!? Sao không dùng tiếng Anh luôn thể nhỉ?
 
Upvote 0
Web KT

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

Back
Top Bottom