Lại là cái Form!

Liên hệ QC
Status
Không mở trả lời sau này.

ontopoftheworld

Am a Peasant Guy
Tham gia
17/3/07
Bài viết
109
Được thích
182
PHP:
Sheets("CT").select
Range("A1").End(xlDown).Select
Do
If IsEmpty(activcell) = False Then
ActiveCell.Offset(0, 1).Select
End If
Loop Until IsEmpty(ActiveCell) = True
ActiveCell.Offset(0, 1) = Txtdate.Value
ActiveCell.Offset(0, 2) = TxtDocumentNo.Value
ActiveCell.Offset(0, 3) = TxtDocument.Value
ActiveCell.Offset(0, 4) = CmbTKNo.Value
ActiveCell.Offset(0, 5) = CmbTKCo.Value
ActiveCell.Offset(0, 6) = TxtSotien.Value
ActiveCell.End(xlToLeft).Offset(1, 0).Select
Đoạn mã trên sử dụng từ một Form mẫu trên diễn đàn.(File VBA04-Userform)
Em tham khảo xong và biến tấu theo ý của mình. Nhưng "biến" xong nó "tấu" luôn các bác ạ --=0 . Excel đứng cứng ngắc(Not responding).
Các bác cho em ý kiến với.
thanks các bác.
 
Hãy cho biết khúc biến tấu của bạn đi

Bạn thật hiểu đoạn mã này rồi chứ gì?!;;;;;;;;;;;
 
Upvote 0
ontopoftheworld đã viết:
Sheets("CT").select
Range("A1").End(xlDown).Select
Do
If IsEmpty(activcell) = False Then
ActiveCell.Offset(0, 1).Select
End If
Loop Until IsEmpty(ActiveCell) = True
ActiveCell.Offset(0, 1) = Txtdate.Value
ActiveCell.Offset(0, 2) = TxtDocumentNo.Value
ActiveCell.Offset(0, 3) = TxtDocument.Value
ActiveCell.Offset(0, 4) = CmbTKNo.Value
ActiveCell.Offset(0, 5) = CmbTKCo.Value
ActiveCell.Offset(0, 6) = TxtSotien.Value
ActiveCell.End(xlToLeft).Offset(1, 0).Select
Đoạn mã trên sử dụng từ một Form mẫu trên diễn đàn.(File VBA04-Userform)
Em tham khảo xong và biến tấu theo ý của mình. Nhưng "biến" xong nó "tấu" luôn các bác ạ --=0 . Excel đứng cứng ngắc(Not responding).
Các bác cho em ý kiến với.
thanks các bác.
-ok!, em thư3 dịch nội dung nhá anh SA_QD

1 -Chọn sheet "CT"
2- Chọn cột A di chuyển xuống dòng dư liệu cuối cùng
3-"Do" (em hiểu là bắt đầu thực hiện lệnh
4-Nếu cell hiện hành trống là sai(tức là đã có dữ liệu) thì sẽ di chuyển xuống 1 dòng, cột vẫn là cột A.Tới đây là em thấy cái sai của em rùi.hix
Tới đây thì pghải là offset(1,0) mới đúng nhỉ.
Và em sử dụng Do ...Loop sai rồi
HIx đúng khi đọc lại thì thấy một mớ sai
 
Upvote 0
Em đã sửa lại rùi.
1-Sheets("CT").select
- Chọn sheet"CT"
2-Range("A1").End(xlDown).Select
- cột A di chuyển xuống cuối vùng dữ liệu
3-ActiveCell.Offset(1,0).Select
- o hiện hành di chuyển xuống dưới 1 hàng
4-If IsEmpty(activcell) = False Then
- Nếu ô hiện hành "trống" là sai (tức là đả có dữ liệu) thì
5-ActiveCell.Offset(0, 1).Select
- o hiện hành di chuyển qua phải 1 cột
6-End If
(khỏi dịch nha anh hìi ......)
7-Loop Until IsEmpty(ActiveCell) = True
Thực hiện lệnh cho đến khi giá trị ô hiện hành là đúng(tức là không có dũ liệu;
8- ActiveCell.Value = Txtdate.Value
Gía trị ô hiện hành sẽ là nội dung của "txtdate"
9- ActiveCell.Offset(0, 1) = TxtDocumentNo.Value
o hiện hành di chuyển qua phải 1 cột và giá trị là gtrị của "txtDocumentNo"
10-ActiveCell.Offset(0, 2) = TxtDocument.Value
Em lười dịch quá à.
11-ActiveCell.Offset(0, 3) = CmbTKNo.Value
12-ActiveCell.Offset(0, 4) = CmbTKCo.Value

13-ActiveCell.Offset(0, 5) = TxtSotien.Value
14-ActiveCell.End(xlToLeft).Offset(1, 0).Select
- Ô hiện hành sẽ di chuyển về biên trái và xuống 1 dòng .

Đoạn này em đã sửa lại và đã chạy ôkê con gà đen hìhì, nhưng anh SA_QD cho em vài ý kiến đi. Em nghĩ sẽ có cách khác hay hơn.
Thực tế thì em không thích làm với form để nhập liệu.
Làm trực tiếp trên màn hình Excel khỏe hơn khi làm kế toán.
Ah. mà còn vấn đề nữa Anh SA_DQ ơi.
1/ Trong cái txtdate đó anh em gõ ngày 12/03/2007 thì khi ghi xuống EX nó lại hiểu là 03/12/2007(Ex em định dạng dd/mm/yy")
Anh chỉ cách em định dạng txtdate theo ý mình muốn với.
2/ "TxtDocument" em không thể đánh nội dung có dấu được(dùng cái font VNI-Times)
Anh qua phần"Lập Trình với Ex" chỉ em thêm vấn đề nữa đi Pls.
Cám ơn anh nhiều.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Đoạn này em đã sửa lại và đã chạy ôkê con gà đen hìhì, nhưng cho em vài ý kiến đi. Thực tế thì em không thích làm với form để nhập liệu.
Làm trực tiếp trên màn hình Excel khỏe hơn khi làm kế toán.
Bạn xem bài 'Chập chững đến VBA' có vì dụ nhập từ Sheet vô CSDL; lúc đó sẽ tận dụng được việc chuyển dữ liệu cột (từ Sheet nhập liệu) => hàng (trong CSDL) = cách Copy -> Paste Special , Transpose

Ah. mà còn vấn đề nữa
1/ Trong cái txtdate đó anh em gõ ngày 12/03/2007 thì khi ghi xuống EX nó lại hiểu là 03/12/2007(Ex em định dạng dd/mm/yy")
Anh chỉ cách em định dạng txtdate theo ý mình muốn với.
Hãy tìm & đọc trên diễn đàn, các tiền bối nói rõ vấn đề này rồi mà!
 
Upvote 0
Cái khó là khi chợt có ý tưởng trong đầu mà ko có kiến thức VB để làm.
Em chỉ có thể tiếp cận kiểu làm đâu nhớ đó thôi( đại khái là thực hành bỏ qua lý thuyết anh ạ). Nên nó dở ở chổ đó. Anh thông cảm
Nhiều khi mình đọc các topic đó mà chẳng biết ứng dụng nó thế nào.
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom