Xin code để xóa các dòng không cần thiết (lấy dữ liệu từ file txt và lưu lại thành file word)

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Hello World Cup

Thành viên mới
Tham gia
23/12/22
Bài viết
18
Được thích
2
Chào các bạn
Mình có file FILE 1.TXT là file sub. Giờ mình cần loại bỏ những dòng thừa, gồm:
- Dòng trống.
- Dòng chứa các chuỗi sau:
+WcBzTT
+ --> (dòng thời gian)
+NOTc
+link:
+https
Do file quá nhiều (2000 file) nên mình không đủ sức làm thủ công. Rất mong các bạn hỗ trợ mình đoạn code Excel để xóa các dòng thừa và save vào file DOCX cùng tên với file TXT.
Quy trình thủ công của mình hiện như thế này:
- Mở file txt
- Copy dữ liệu của file TXT vào file Excel sau đó xóa các dòng thừa (bằng Filter), copy
- Tạo file word cùng tên với file TXT rồi lưu nội dung copy vào, lưu và đóng
- Mở file txt tiếp theo
- ...

Nếu không thể có đoạn code như vậy thì rất mong các bạn giúp mình đoạn code để xóa các dòngTRỐNG và các dòng chứa ký tự được quy định ở cột H (File excel đính kèm).
Cám ơn các bạn rất nhiều.
 

File đính kèm

  • FILE 1.txt
    8.5 KB · Đọc: 3
  • xoa cac dong khong can thiet.xlsx
    88.9 KB · Đọc: 4
Chào các bạn
Mình có file FILE 1.TXT là file sub. Giờ mình cần loại bỏ những dòng thừa, gồm:
- Dòng trống.
- Dòng chứa các chuỗi sau:
+WcBzTT
+ --> (dòng thời gian)
+NOTc
+link:
+https
Do file quá nhiều (2000 file) nên mình không đủ sức làm thủ công. Rất mong các bạn hỗ trợ mình đoạn code Excel để xóa các dòng thừa và save vào file DOCX cùng tên với file TXT.
Quy trình thủ công của mình hiện như thế này:
- Mở file txt
- Copy dữ liệu của file TXT vào file Excel sau đó xóa các dòng thừa (bằng Filter), copy
- Tạo file word cùng tên với file TXT rồi lưu nội dung copy vào, lưu và đóng
- Mở file txt tiếp theo
- ...

Nếu không thể có đoạn code như vậy thì rất mong các bạn giúp mình đoạn code để xóa các dòngTRỐNG và các dòng chứa ký tự được quy định ở cột H (File excel đính kèm).
Cám ơn các bạn rất nhiều.
Mở notepad++ lên
Mã:
^(WcBzTT|NOTc|link:|https://|\d{2}:|$).*\R
=> Replace All
1672409162553.png
 

File đính kèm

  • 1672409202826.png
    1672409202826.png
    251.3 KB · Đọc: 10
Upvote 0
Bạn kiểm tra sau khi chạy macro này xem có đúng với yêu cầu ghi trên cột [H] trang tính chưa?

PHP:
Sub XoaDongTrongTheoDieuKien()
 Dim Arr(), Cls As Range, aDK()
 Dim DKXoa As String
 Const FC As String = "|"
 Dim Rws As Long, J As Long, W As Long, Jj As Integer
 
 aDK() = [H2:H5].Value
 Rws = Sheet1.UsedRange.Rows.Count
 Arr() = [A1].Resize(Rws, 1).Value
 ReDim aKQ(1 To Rws, 1 To 1)
 For J = 1 To Rws
    If Arr(J, 1) = "" Then
        aKQ(J, 1) = 2
1872
    Else
        For Jj = 1 To UBound(aDK())
            If InStr(Arr(J, 1), aDK(Jj, 1)) Then
                aKQ(J, 1) = 2 + Jj
            End If
        Next Jj
    End If
 Next J
 [B1].Resize(J).Value = aKQ()
End Sub
 
Upvote 0
Bạn kiểm tra sau khi chạy macro này xem có đúng với yêu cầu ghi trên cột [H] trang tính chưa?

PHP:
Sub XoaDongTrongTheoDieuKien()
 Dim Arr(), Cls As Range, aDK()
 Dim DKXoa As String
 Const FC As String = "|"
 Dim Rws As Long, J As Long, W As Long, Jj As Integer
 
 aDK() = [H2:H5].Value
 Rws = Sheet1.UsedRange.Rows.Count
 Arr() = [A1].Resize(Rws, 1).Value
 ReDim aKQ(1 To Rws, 1 To 1)
 For J = 1 To Rws
    If Arr(J, 1) = "" Then
        aKQ(J, 1) = 2
1872
    Else
        For Jj = 1 To UBound(aDK())
            If InStr(Arr(J, 1), aDK(Jj, 1)) Then
                aKQ(J, 1) = 2 + Jj
            End If
        Next Jj
    End If
 Next J
 [B1].Resize(J).Value = aKQ()
End Sub
Tại mình trình bày chưa tốt. Bạn có thể thêm vài dòng code để tự động xóa các dòng không trống (dựa vào dữ liệu ở cột B) sau khi chạy đoạn code của bạn không (như hình bên dưới)?22.png
 
Upvote 0
(2)Tại mình trình bày chưa tốt. Bạn có thể (1) thêm vài dòng code để tự động xóa các dòng không trống (dựa vào dữ liệu ở cột B) sau khi chạy đoạn code của bạn không (như hình bên dưới)?
(1) Bạn thử mở bộ thu macro lên &:
→ Sắp xếp dữ liệu theo cột 'B'
→ Chọn các dòng cần xóa
→ Xóa các dòng đã chọn
Sau đó 'kiện toàn' lại nội dung macro
(1.1) Nếu không tự 'kiện toàn' được thì gởi lên nhờ cộng đồng giúp!

(2) Không phải, bạn trình bày đúng & mình cũng đã hiểu đúng;
Nhưng vì 1 lý do sư phạm nào đó mà có bài #03


Xin chúc mọi người vui vẻ nhân dịp xuân về!
 
Upvote 0
Cám ơn bạn. Mình sử dụng "record macro" và đã ghi lại được code.
 
Upvote 0
Công nhận thiên hạ khoái "tự động" thật.
Hồi nào giờ bản thân tôi copy text rồi chỉnh sửa những điều sau bằng tay, chả cốt kiếc gì hết:
- Dùng Ctrl+F để tìm ^m (page breaks), ^b (section breaks), ^n (column breaks) và chỉnh sửa.
- Dùng Ctrl+H để thay ^l thành ^p (đổi xuống dòng mềm thành cứng)
- Dùng Ctrl+H để thay ^p^p thành ^p (xóa dòng trống)
...
- Dùng Styles để chỉnh lại cách trình bày văn bản.
 
Upvote 0
Công nhận thiên hạ khoái "tự động" thật.
- Dùng Ctrl+H để thay ^p^p thành ^p (xóa dòng trống)
Tôi cũng định hướng dẫn nguyên văn như vậy, nhưng nếu có nhiều hơn 2 dòng trống kế tiếp nhau thì có khi bị phản hồi là không có tác dụng. Ngay cả việc nhấn replace all cũng còn chưa biết lấy gì mà nhấn nhiều lần.
 
Upvote 0
Tôi cũng định hướng dẫn nguyên văn như vậy, nhưng nếu có nhiều hơn 2 dòng trống kế tiếp nhau thì có khi bị phản hồi là không có tác dụng. Ngay cả việc nhấn replace all cũng còn chưa biết lấy gì mà nhấn nhiều lần.
Hổng biết nhấn nhiều lần thì về học lại Word đi. Vê-Bê-A là tại lười biếng.

Nhiều người trên GPE sôt sắng VBA quá khiến những người hỏi đâm ỷ lại và lười biếng. Nhất là phía bên Excel., lười học cách sử dụng bảng tính cho đàng hoàng, bởi tin rằng VBA là viên đạn bạc (silver bullet) và GPE là khẩu súng. Rồi cứ đem vấn đè lên, tải code về. Gặp khi ngwoif ta nhắc nhở thì đã có chiêu bài "dữ liệu hằng trăm nghìn dòng, chạy lâu, nặng file..."

Nhớ cách đây khong lâu có nguồi còn hỏi luôn code đúng giờ là mở file lên thao tác tự động luôn. Dự định mỗi ngày vào cơ quan chỉ cần mở máy lên rồi ngồi thao tác chát điện thoại với bồ nhí. Nếu được code mở máy thì hoàn toàn chả cần làm gì hết, vác mặt vào cơ quan chỉ để cuối tháng lĩnh lương, moi công việc đã có GPE thu vén giùm
 
Upvote 0
Túm lại Excel hay VBA & cả GPE.COM đều là công cụ mà;
Có nhà triết học đã nêu luận đề: Công cụ biến loại vật thành loài người
Còn chuyện sẽ biến loài người thành loài vật không thì chắc đợi ngàn năm nữa cũng nên!
 
Upvote 0
Túm lại Excel hay VBA & cả GPE.COM đều là công cụ mà;
nhà triết học đã nêu luận đề: Công cụ biến loại vật thành loài người
Còn chuyện sẽ biến loài người thành loài vật không thì chắc đợi ngàn năm nữa cũng nên!
1. Các công cụ ấy khác nhau.
Chẳng những GPE là công cụ, mà là công cụ bền bỉ, đáng tin cậy. Thậm chí không cần học cách sự dụng.
Excel nếu làm sai nó không chịu làm tiếp.
GPE nếu làm sai nó sửa giùm luôn.
Đó là lý do nhiều người biết đến nó rồi thì tự cảm thấy không cần học thêm gì hết.

2. Nhà triết học nào vậy?
Trong ngữ cảnh của câu đó thì "nhà triết học" ấy định nghĩa "công cụ", "loài vật", và "loài người" ra sao? định nghĩa theo việc làm hay tư tưởng?
Triết học nhân gian thì thường định nghĩa rằng con người mất nhân tính thì thành thú tính, và coi như loài thú. Tự tâm mà ra, công cụ chỉ là cái khơi mào, cái cho phép.
 
Upvote 0
(1) Để trở thành con người, ta phải xài những công cụ khác nhau & có khi 1 công cụ có thể xài vô nhiều mục đích
Ví dụ: Hòn đá, ngàn năm trước là công cụ để con người khỏi phải leo trèn cây để hái quả
Hòn đá bây chứ cũng ít khi trở thành công cụ giết người, nhưng những khi nóng zận chọi vô đối tượng ghét bỏ nào đó;
. . . .
(2) Lực ma sát làm cho xe (có động cơ (ĐC)hay không có ĐC) tiến lên được & cũng chính lực này làm cho xe sẽ đứng lại (như ta thắng xe lại)
Như vậy người phát hiện ra lực ma sát chả phải vừa là nhà vật lý, vừa là hiền triết đó ru?
Nhà triết học nào đó, khi nghiên cứu sự phát triển của xã hội (XH) loài người & XH loại vật cao cấp đã cho rằng công cụ (hái lượm) đã biến loại động vật cao cấp nhất thành loài người.
. . . ..
Giờ thì XH loài người phát triển cao siêu, nhiều cung bậc, nên đã & sẽ ngày càng nhiều những người hay nhóm người biến nhóm người hay cá thể nào đó thành công cụ của mình.
Ví dụ như:
Tổ chức những cuộc chiến tranh ủy nhiệm;
Chăn dắt ăn xin;
. . . . . .


Chúc các bạn vui nhân dịp xuân về!
 
Upvote 0
Web KT

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

Back
Top Bottom