Thu nhỏ Excel khi load UserForm

  • Thread starter Thread starter sealand
  • Ngày gửi Ngày gửi
Liên hệ QC

sealand

Thành viên gạo cội
Tham gia
16/5/08
Bài viết
4,883
Được thích
7,688
Giới tính
Nam
Nghề nghiệp
Kế Toán
Mình tìm cách để load Form của mình lên và thu nhỏ cửa sổ Excel lại, khi đang làm việc với Form của mình thì không thể mở lại cửa sổ Excel.Thậm chí mở tệp ra là nó load thẳng vào Form (Xóa dấu nháy trong sự kiện WorkbookOpen() của tệp mẫu) Như vậy Form của mình có thể đưa ra nằm trên Destop trông có vẻ gọn gàng và “Phần mềm” hơn. Nhưng mình chưa tìm được cách mở Form load ngay mà nó nhấp nháy ở thanh TastBar, nhấn chuột vào nó mới mở ra.
Trên form này dùng ListBox có bạn nào có cách định dạng ListBox như hình trên sheet1 không chỉ giùm với. (Số TK, Tên TK canh trái, tiền canh phải)
 

File đính kèm

Mình tìm cách để load Form của mình lên và thu nhỏ cửa sổ Excel lại, khi đang làm việc với Form của mình thì không thể mở lại cửa sổ Excel.Thậm chí mở tệp ra là nó load thẳng vào Form (Xóa dấu nháy trong sự kiện WorkbookOpen() của tệp mẫu) Như vậy Form của mình có thể đưa ra nằm trên Destop trông có vẻ gọn gàng và “Phần mềm” hơn. Nhưng mình chưa tìm được cách mở Form load ngay mà nó nhấp nháy ở thanh TastBar, nhấn chuột vào nó mới mở ra.
Trên form này dùng ListBox có bạn nào có cách định dạng ListBox như hình trên sheet1 không chỉ giùm với. (Số TK, Tên TK canh trái, tiền canh phải)

1.
PHP:
Private Sub UserForm_Initialize()
    Application.Visible = False
End Sub
Private Sub UserForm_Terminate()
    Application.Visible = True
End Sub

2.

Bạn hãy học cách sử dụng Listview nhé, Listbox không làm được.

Thân!
 
Upvote 0
Mình viết đoạn code kết hợp với nạp Listbox như sau thấy cũng được như thủ công quá nên muốn tham khảo có cách nào hay hơn( Đoạn mã mình khai mảng cố định tạm thời):

Private Sub nap_list()
Dim mg(13, 8)
For i = 0 To 13
For j = 0 To 5
If IsNumeric(Sheet1.Cells(i + 2, j + 1)) And j <> 0 Then
mg(i, j) = Format(Sheet1.Cells(i + 2, j + 1), "#,##0")
Else
If j = 0 Then
If Sheet1.Cells(i + 2, j + 1) <> 0 Then
mg(i, j) = Left(Str(Sheet1.Cells(i + 2, j + 1)) & Space(20), 20)
End If
Else
mg(i, j) = Left(doi_font(Sheet1.Cells(i + 2, j + 1)) & Space(90), 90)
End If
End If
Next
Next
Me.ListBox1.List() = mg
End Sub

Khi load lên trông như trên sheet1 đấy. Đúng như ý kiến bạn dùng Listview tiện nghi hơn nhưng đôi khi vẫn sử dụng Listbox như trên sheet chẳng hạn.
Cám ơn bạn đã giup mình giải quyết được việc load form đúng ý.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình viết đoạn code kết hợp với nạp Listbox như sau thấy cũng được như thủ công quá nên muốn tham khảo có cách nào hay hơn( Đoạn mã mình khai mảng cố định tạm thời):

Private Sub nap_list()
Dim mg(13, 8)
For i = 0 To 13
For j = 0 To 5
If IsNumeric(Sheet1.Cells(i + 2, j + 1)) And j <> 0 Then
mg(i, j) = Format(Sheet1.Cells(i + 2, j + 1), "#,##0")
Else
If j = 0 Then
If Sheet1.Cells(i + 2, j + 1) <> 0 Then
mg(i, j) = Left(Str(Sheet1.Cells(i + 2, j + 1)) & Space(20), 20)
End If
Else
mg(i, j) = Left(doi_font(Sheet1.Cells(i + 2, j + 1)) & Space(90), 90)
End If
End If
Next
Next
Me.ListBox1.List() = mg
End Sub

Khi load lên trông như trên sheet1 đấy. Đúng như ý kiến bạn dùng Listview tiện nghi hơn nhưng đôi khi vẫn sử dụng Listbox như trên sheet chẳng hạn.
Cám ơn bạn đã giup mình giải quyết được việc load form đúng ý.
Mình thấy bạn dùng mảng nhưng số dòng trong mảng fix 13 dòng thì kg linh động vì nếu sheet co nhiều DL thì bị kg xử lý được
 
Upvote 0
Tạo form để nhập mã hàng!

Nhờ các bác giúp em tạo form và viết code hộ em trong bảng tính em đính kèm, ở sheet NX em muốn tạo một form nhập liệu mã hàng và số lượng vào các cột nhập và xuất khi mà em đánh một ký tự mã hàng nào thì tất cả các mã hàng có ký tự đầu như vậy sẽ hiện ra để cho em chọn. Mong các bác giúp đỡ.
 

File đính kèm

Upvote 0
To galilom2002:
Nhờ anh em giúp bạn ấy với mình đang bận làm thủ tục bàn giao quá mong galilom2002 thông cảm.
To manhhung12:
Mình đã gửi OCX rồi. Còn mảng mình khai như vậy vì trong khi thử thôi. Trên thuc tế thay bằng biến (dong chẳng hạn) và thêm câu lệnh
dim mg()
dong=application.WorksheetFunction.CountA(sheet1.[A1:A1000])
Hoặc dùng công thức tìm dòng cuối có dữ liệu của ndu ấy
ReDim mg(dong,8)
 
Upvote 0
To galilom2002:
Nhờ anh em giúp bạn ấy với mình đang bận làm thủ tục bàn giao quá mong galilom2002 thông cảm.
To manhhung12:
Mình đã gửi OCX rồi. Còn mảng mình khai như vậy vì trong khi thử thôi. Trên thuc tế thay bằng biến (dong chẳng hạn) và thêm câu lệnh
dim mg()
dong=application.WorksheetFunction.CountA(sheet1.[A1:A1000])
Hoặc dùng công thức tìm dòng cuối có dữ liệu của ndu ấy
ReDim mg(dong,8)
Tôi đã nhận được õcc bạn gửi nhưng cũng giống file bạn gửi hôm kia tôi đã ínttallll vào và vãn chưa có đk listview.
 
Upvote 0
Mình không dùng Excel 2007 nên không biết có vấn đề gì không, nhưng mình nghĩ là nó bổ xung thêm chứ mấy khi nó bỏ đi. Điều khiển gửi bạn mình chép ở nhà (Không có nối mạng) đến cơ quan cài thử vào máy thấy OK mới gửi bạn.
Bạn vào--> Tools--> Reference kiểm tra lại chắc chăn những thu viện sau đwợc đánh dấu không:

-Visual Basic for application.
-Microsoft Excel 11.0 Object library.
-OLE Automation.
-Microsoft Office 11.0 Object libray.

Hoặc có thể bạn thêm không đúng cách. Trên thanh công cụ control box bạn nhấn chuột phải chọn add.. ngay dong đầu tiên ấy, chứ không phải tìm trong Re...
 
Lần chỉnh sửa cuối:
Upvote 0
Mình không dùng Excel 2007 nên không biết có vấn đề gì không, nhưng mình nghĩ là nó bổ xung thêm chứ mấy khi nó bỏ đi. Điều khiển gửi bạn mình chép ở nhà (Không có nối mạng) đến cơ quan cài thử vào máy thấy OK mới gửi bạn.
Bạn vào--> Tools--> Reference kiểm tra lại chắc chăn những thu viện sau đwợc đánh dấu không:

-Visual Basic for application.
-Microsoft Excel 11.0 Object library.
-OLE Automation.
-Microsoft Office 11.0 Object libray.

Hoặc có thể bạn thêm không đúng cách. Trên thanh công cụ control box bạn nhấn chuột phải chọn add.. ngay dong đầu tiên ấy, chứ không phải tìm trong Re...
Tôi có đầy đủ :
-Visual Basic for application.
-Microsoft Excel 10.0 Object library.
-OLE Automation.
-Microsoft Office 10.0 Object libray.
Thế nhưng khi tôi chuột phải đẻ add control thì kg nhúc nhíc. Thật buồn
 
Upvote 0
Nếu đó là Exc 2003 mình nói chắc Exc có vấn đề vì ngoài những cái đó còn cho phép bổ xung rất nhiều Control khác. Nhấn chuột phải trên thanh công cụ (TRong VBA cái thanh mà bạn chọn textbox ấy) nó se hiện menu rồi, không nhúc nhíc thì lạ thật
 
Upvote 0
Nếu đó là Exc 2003 mình nói chắc Exc có vấn đề vì ngoài những cái đó còn cho phép bổ xung rất nhiều Control khác. Nhấn chuột phải trên thanh công cụ (TRong VBA cái thanh mà bạn chọn textbox ấy) nó se hiện menu rồi, không nhúc nhíc thì lạ thật
Có mấy cái Control mà sao vất vả thế nhỉ? Hôm qua mở cái file bạn gửi thấy có cái Listview. ai de hom nay mở cái file của mình thì nó biến mất đẻ lai 1 cai icon "Unknow". Buồn thúi ruột. Chắc phải cài lai MS thôi.
 

File đính kèm

Upvote 0
Nếu nó không ổn định như vậy thì phương án cài lại cũng nên cân nhắc vì ba cái thứ đó là đồ nghề của dân diễn đàn mình mà. Cái gì mới hơn, đẹp hơn trẻ trung hơn cũng gắn liền với sự "đỏng đảnh" và phiền phức, ý mình nói giữa 2003 và 2007
 
Upvote 0
Có mấy cái Control mà sao vất vả thế nhỉ? Hôm qua mở cái file bạn gửi thấy có cái Listview. ai de hom nay mở cái file của mình thì nó biến mất đẻ lai 1 cai icon "Unknow". Buồn thúi ruột. Chắc phải cài lai MS thôi.

Nếu không muốn xài Listview thì hãy thử với Listbox thử xem. Mình gửi bạn một ví dụ thuần excel đây, không cần vay mượn các control bên ngoài. Thử ứng dụng vào file của bạn xem nhé.
 

File đính kèm

Upvote 0
Võ Tuấn Kiệt nhiều "chiêu" nhỉ. Giá bạn ẩn Excel đi thì từ điển của bạn ấn tượng hơn
 
Upvote 0
Upvote 0
Nếu không muốn xài Listview thì hãy thử với Listbox thử xem. Mình gửi bạn một ví dụ thuần excel đây, không cần vay mượn các control bên ngoài. Thử ứng dụng vào file của bạn xem nhé.
Tôi cũng đã làm bằng lisbox nhưng hỏi và việc làm tươi listbox khi thêm 1 dòng (nhập bằng textbox, hiển thị dl bằng listbox. nay thấy listview hay hơn thì tìm hiểu thêm.
Thế hôm trước tôi có hỏi về listbox và cách làm tươi dữ liệu) sao bạn kg giúp? Bây giờ nghiên cứu làm listview thì ...
 
Upvote 0
Nếu nó không ổn định như vậy thì phương án cài lại cũng nên cân nhắc vì ba cái thứ đó là đồ nghề của dân diễn đàn mình mà. Cái gì mới hơn, đẹp hơn trẻ trung hơn cũng gắn liền với sự "đỏng đảnh" và phiền phức, ý mình nói giữa 2003 và 2007
Cài lại cũng kg ăn thua. Thấy excel gần gũi thì vọc cho vui chứ thấy nó cũng cứng nhắc như vậy thì cũng chẳng muốn chơi. Bi quan nhẩy.
 
Upvote 0
Bạn đừng nghĩ vậy, khó khăn ban đầu thôi chứ khi đã nắm đwợc nó thì nó dễ thuần hơn rất nhiều các phần mền khác đấy. Phải quyết tâm cơ chứ vọc chơi thì dễ nản lắm. Chúc bạn bình tâm và thực hiện thành công ý tưởng của mình
Thân
 
Upvote 0
Web KT

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

Back
Top Bottom