VBA tạo file định dạng .txt

Liên hệ QC

bin.vcsc

Thành viên hoạt động
Tham gia
6/12/13
Bài viết
125
Được thích
14
Gửi anh chị và các bạn

Mình có đứa em có bài tập về viết VBA để xuất ra txt, em nó viết và chạy ra kết quả đã đúng theo yêu cầu.
Tuy nhiên khi nộp bài thì thầy giáo nói là tốt nhưng còn rất rối và hơi rườm rà. Các anh chị xem có thể giúp em nó VBA của nó đã ổn chưa nhé.
Xin cảm ơn ah.
 

File đính kèm

  • Tao file TxT.xlsm
    30.8 KB · Đọc: 12
  • VCSC01SGN1105150300.txt
    4.5 KB · Đọc: 7
Upvote 0
Ẻm đó và ẻm ở bài này có sinh đôi với nhau không mình?

Hi @befaint không khác nhau ah.
Bác cũng đang theo dõi bài đó hả. Có gì giúp em với nhá.
Cám ơn bác nhiều.
 
Upvote 0
Em ấy là nam hay nữ?
Đã có chồng chưa được mấy con?

Ủa mà sao mình hỏi ngu vậy ta?
Nếu là nữ thì tội gì phải nhờ anh hỏi giùm. Tự đăng tên hỏi lấy giải đáp nhanh hơn nhiều.
 
Upvote 0
Em ấy là nam hay nữ?
Đã có chồng chưa được mấy con?

Ủa mà sao mình hỏi ngu vậy ta?
Nếu là nữ thì tội gì phải nhờ anh hỏi giùm. Tự đăng tên hỏi lấy giải đáp nhanh hơn nhiều.
Hi Bác @VetMini em quen với phong cách của bác rồi. ^^
Mấy hôm rồi có gửi bài mà hông thấy bác, cũng thấy buồn buồn. ^^
 
Upvote 0
Dùng hàm format trong Sub TaoFile() chắc sẽ gọn hơn.
 
Upvote 0
Hi Bác @VetMini em quen với phong cách của bác rồi. ^^
Mấy hôm rồi có gửi bài mà hông thấy bác, cũng thấy buồn buồn. ^^
Biết "phong cách" thì cũng biết là "Hi" tôi sẽ được gì.

Code này "rối rắm và rườm rà" thật.
Đầu tiên hết là gần cả trăm dòng code mà không có được một lời chú thích.

Khuyến mãi đoạn code này:
For i = 1 To SL
dong = "WW"
For x = 1 To 411
dong = dong & " "
Next x
Mid(dong, 36, 3) = depot
Mid(dong, 49, 3) = depot
Mid(dong, 401, 3) = depot
Mid(dong, 409, 5) = "OCS"

Sửa lại là:
Dim dong As String * 413
LSet dong = "WW"
Mid(dong, 36, 3) = depot
Mid(dong, 49, 3) = depot
Mid(dong, 401, 3) = depot
Mid(dong, 409, 5) = "OCS"
For i = 1 To SL
...
 
Upvote 0
Biết "phong cách" thì cũng biết là "Hi" tôi sẽ được gì.

Xin lỗi bác @VetMini , xin rút kinh nghiệm vụ tiếng Anh. Do được bác ghé hỗ trợ nên vui quá thôi.
Xin cho hỏi ý nghĩa bác chuyển lại như thế này?

Dim dong As String * 413
LSet dong = "WW"
Bài đã được tự động gộp:

Dùng hàm format trong Sub TaoFile() chắc sẽ gọn hơn.
Cám ơn bạn @truongvu317 , nếu có VBA nào khác xin cứ chia sẻ, vì sẽ có các bạn khác trong diễn đàn của mình sau này gặp tình huống tương tự sẽ có thêm tài liệu tham khảo và học hỏi.
 
Upvote 0
...Xin cho hỏi ý nghĩa bác chuyển lại như thế này?

Dim dong As String * 413
LSet dong = "WW"
String * 413 là lệnh khai báo chuỗi có độ dài nhất định (chuỗi dài 413 ký tự). Bài này dùng chuỗi độ dài nhất định là đúng rồi.
LSet là lệnh gán trị vào bên trái chuỗi. Chỗ còn lại sẽ được VBA đắp dấu cách vào cho đủ.
 
Upvote 0
Web KT

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

Back
Top Bottom