Tách file thành từng sheet (1 người xem)

Liên hệ QC

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

huonglien1901

GPE là ngôi nhà thứ 2 của tôi!!!
Tham gia
17/4/16
Bài viết
2,701
Được thích
2,434
Giới tính
Nam
Nghề nghiệp
Nhân viên kỹ thuật in ấn
Chào mọi người!

Hiện tại em có file này nhờ mọi người tạo cho em nút Tách File, Ví dụ khi bấm nút Tách file thì dữ liệu trên file đó chuyển sang sheet mới và có thể thay đổi tên tùy theo người sử dụng.

Em cảm ơn mọi người nhiều!
 

File đính kèm

Chào mọi người!

Hiện tại em có file này nhờ mọi người tạo cho em nút Tách File, Ví dụ khi bấm nút Tách file thì dữ liệu trên file đó chuyển sang sheet mới và có thể thay đổi tên tùy theo người sử dụng.

Em cảm ơn mọi người nhiều!
Folder là cha/mẹ của file, chứa file (một hoặc nhiều file), trong excel file thì có sheet (một hoặc nhiều sheet).
Vậy, "Tách file" --> "sheet mới" thì sheet này ở đâu, thuộc file nào? "đổi tên" là đổi tên đối tượng nào (sheet hay file)? Chưa kể, tách như nào? điều kiện ra sao? (oằn là tà là vằn)
 
Upvote 0
Folder là cha/mẹ của file, chứa file (một hoặc nhiều file), trong excel file thì có sheet (một hoặc nhiều sheet).
Vậy, "Tách file" --> "sheet mới" thì sheet này ở đâu, thuộc file nào? "đổi tên" là đổi tên đối tượng nào (sheet hay file)? Chưa kể, tách như nào? điều kiện ra sao? (oằn là tà là vằn)

dạ, sheet này nằm trong file đó anh, ví dụ sheet tên, khi bấm nút Tách File chuyển sang sheet 2 đó anh, và thay đổi tên sheet luôn.
Tách file ở đây em muốn Tất cả dữ liệu chuyển sang sheet kế tiếp trong file đó. ý là như thế này em muốn copy tất cả dữ liệu sang sheet mới, em muốn lấy tất cả cột A, B, C, D, E đó anh.


Anh hỗ trợ giúp em với!
 
Lần chỉnh sửa cuối:
Upvote 0
dạ, sheet này nằm trong file đó anh, ví dụ sheet tên, khi bấm nút Tách File chuyển sang sheet 2 đó anh, và thay đổi tên sheet luôn.
Tách file ở đây em muốn Tất cả dữ liệu chuyển sang sheet kế tiếp trong file đó. ý là như thế này em muốn copy tất cả dữ liệu sang sheet mới, em muốn lấy tất cả cột A, B, C, D, E đó anh. Anh hỗ trợ giúp em với!

Từ nào đến giờ mới thấy có 1 thành viên giải thích hay như bạn, cụ thể:

- Tiêu đề: Tách file thành từng sheet.
- Giải thích:
copy tất cả dữ liệu sheet tên sang sheet mới.

Diễn giải kiểu này chắc chờ tết tổng kết năm luôn.
 
Upvote 0
Từ nào đến giờ mới thấy có 1 thành viên giải thích hay như bạn, cụ thể:

- Tiêu đề: Tách file thành từng sheet.
- Giải thích:
copy tất cả dữ liệu sheet tên sang sheet mới.

Diễn giải kiểu này chắc chờ tết tổng kết năm luôn.

Dạ, em cảm ơn anh đã cho em lời khuyên,

Lần sau em sẽ đưa chủ đề em nói rõ ràng hơn. Tại vì em học yếu văn nên chỉ diễn giải như vậy thôi
 
Upvote 0
Vậy đi học văn cho rành đi rồi hở quay lại học Excel...

Dạ, Cho em thay đổi tiêu đề là COPY DỮ LIỆU

Vấn đề nhờ mọi người giúp ở đây là: Em muốn lấy tất cả dữ liệu của File đó chuyển sang sheet mới(sheet kế tiếp trong file).

Và khi thêm dữ liệu vào thì khi bấm nút COPY thì sẽ cũng chuyển sang sheet kế tiếp luôn.

Em nhờ mọi người hỗ trợ giúp em.
 
Lần chỉnh sửa cuối:
Upvote 0
Dạ, Em cũng đang đi học đây anh, Nhờ mấy anh chị thì văn em mới nên.

Hình như chẳng liên quan gì đến Văn.
Trong 1 File Excel có nhiều sheet, bạn chỉ muốn copy 1 sheet thành 1 sheet mới trong cùng 1 File.
Tách file (tạo File mới) khác với tách sheet (tao sheet mới trong cùng 1 file).
Lòng vòng hổng biết trúng không, chóng mặt luôn.
 
Lần chỉnh sửa cuối:
Upvote 0
Hình như chẳng liên quan gì đến Văn.
Trong 1 File Excel có nhiều sheet, bạn chỉ muốn copy 1 sheet thành 1 sheet mới trong cùng 1 File.
Tách file (tạo File mới) khác với tách sheet (tao sheet mới trong cùng 1 file).
Lòng vòng hổng biết trúng không, chóng mặt ;uôn.

dạ, Anh Ba Tê hiểu ý em rồi. Như thế này, Em muốn tách sheet đó anh.

Sheet file em đưa lên có tên là : TÊN, Em muốn dữ liệu trên sheet này chuyển sang sheet kế tiếp đó anh. Chi lấy cột A, B, C, D, E đó thôi

Anh giúp em đi. Em cảm ơn anh~
 
Upvote 0
Giải thích vòng vo tam quốc không ai hiểu nổi nên chưa giải quyết được vấn đề đặt ra, theo tôi hiểu thì phải giải thích cụ thể như thế này:

Trong File trên: Cần Macro gán cho 1 nút khi nhấn vào nút sẽ Copy các cột A, B, C, D, E của Sheet TEN sang sheet SUA_DULIEU, sau khi bổ sung hoặc sửa dữ liệu của sheet SUA_DULIEU xong thì nhấn vào nút Lưu nó sẽ lưu dữ liệu vào sheet LUU_DULIEU và lưu kế tiếp bên dưới dữ liệu lưu trước đó.

Với giải thích trên thì bạn chỉ cần 3 sheet là đủ, chứ không cần Copy sang nhiều sheet đâu.
 
Lần chỉnh sửa cuối:
Upvote 0
Giải thích vòng vo tam quốc không ai hiểu nổi nên chưa giải quyết được vấn đề đặt ra, theo tôi hiểu thì phải giải thích cụ thể như thế này:

Trong File trên: Cần Macro gán cho 1 nút khi nhấn vào nút sẽ Copy các cột A, B, C, D, E của Sheet TEN sang sheet SUA_DULIEU, sau khi bổ sung hoặc sửa dữ liệu của sheet SUA_DULIEU xong thì nhấn vào nút Lưu nó sẽ lưu dữ liệu của sheet SUA_DULIEU kế tiếp bên dưới dữ liệu lưu trước đó.

Với giải thích trên thì bạn chỉ cần 3 sheet là đủ, chứ không cần Copy sang nhiều sheet đâu.

dạ đúng như vậy anh, vậy anh hỗ trợ giúp em với, Em cảm ơn anh nhiều!
 
Upvote 0
Tôi nhận định File này còn thiếu 1 số cột nữa?????

Nhưng không sao, bạn muốn thêm bao nhiêu cột thì tùy ý, miễn sao tiêu đề cột của các sheet đều giống nhau là được.
 
Upvote 0
Không biết dùng theo dõi cái gì, làm đại hên thì trúng, mời xem File.

Dạ, file này em theo dõi hàng hóa tồn kho bao nhiêu đó anh dựa vào kiểm kê thực tế, tại vì em làm môi trường siêu thị em làm file này theo dõi hàng hóa

Em cảm ơn be09 nhiều đã hỗ trợ giúp em
 
Upvote 0
Dạ, file này em theo dõi hàng hóa tồn kho bao nhiêu đó anh dựa vào kiểm kê thực tế, tại vì em làm môi trường siêu thị em làm file này theo dõi hàng hóa

Em cảm ơn be09 nhiều đã hỗ trợ giúp em

Nếu theo dõi hàng hóa tồn kho thì File trên chưa hợp lý, phải có sheet nhập, xuất mới biết còn tồn loại hàng hóa nào, số lượng bao nhiêu và phải thêm cột số phiếu, ngày, looa5i hàng hóa, đơn vị tính, tên người nhập, xuất...v...v......

Chỉ góp ý theo sự suy luận thôi, chứ tôi không làm nghề kế toán
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi nhận định File này còn thiếu 1 số cột nữa?????

Nhưng không sao, bạn muốn thêm bao nhiêu cột thì tùy ý, miễn sao tiêu đề cột của các sheet đều giống nhau là được.

ý em là thế này anh ơi, Em muốn lấy dữ liệu từ file txt qua excel, Anh đã tạo cho em hai nút COPY DỮ LIỆU, SỮA DỮ LIỆU, nhờ anh tạo cho em một nút bấm gắn macro IMPORT DỮ LIỆU nữa.
Trong file TXT này em có vấn đề cần giúp:
Em chỉ muốn lấy dữ liệu từ dòng thứ 2.
Số 12: sẽ đưa vào cột Zone
Số 1: sẽ đưa vào cột ALLEY
Dòng thứ 3 sẽ lấy cột thứ 2 và cột thứ 3.
ARTICLE,8852263163839,1
8852263163839 sẽ đưa vào cột TILLCODE.
Số 1: sẽ đưa vào cột QUANLITY
Và khi thêm file text số thứ tự sẽ sắp xếp tăng dần đều. 1,2,3,4.....
khi thêm File text thứ 2 thì số thứ tự sẽ bắt đầu từ 1.


Em gửi file lên cho anh xem thử nhé!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Nếu theo dõi hàng hóa tồn kho thì File trên chưa hợp lý, phải có sheet nhập, xuất mới biết còn tồn loại hàng hóa nào, số lượng bao nhiêu và phải thêm cột số phiếu, ngày, looa5i hàng hóa, đơn vị tính, tên người nhập, xuất...v...v......

Chỉ góp ý theo sự suy luận thôi, chứ tôi không làm nghề kế toán

Dạ, file này em xuất từ phần mềm, mà phần mềm chỉ là file txt thôi. từ file txt em xuất qua file excel để dễ kiểm tra hàng hóa. Anh
 
Upvote 0
Em tìm trên mạng có code Anh Auto Reply để IMPORT file TXT qua EXCEL nhưng áp dụng vào nó không ra gì cả,không có dữ liệu code như thế này:

Public Sub hello()
Dim str As String, arr(1 To 100000, 1 To 5), r As Long, tmp, k As Long
Dim stt As Long, header, body, folderPath
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show <> -1 Then Exit Sub
folderPath = .SelectedItems(1)
End With
str = "CMD /c @ECHO OFF && FOR %A IN (""" & folderPath & "\*.txt" & """) DO ( more +1 ""%A"")"
str = CreateObject("WScript.Shell").exec(str).StdOut.ReadAll
tmp = Split(str, vbCrLf)
For r = 0 To UBound(tmp) Step 1
If InStr(tmp(r), "ADRESSE") > 0 Then
header = Split(tmp(r), ",")
stt = 0
ElseIf InStr(tmp(r), "ARTICLE") > 0 Then
stt = stt + 1: k = k + 1
body = Split(tmp(r), ",")
arr(k, 1) = stt
arr(k, 2) = header(1)
arr(k, 3) = header(2)
arr(k, 4) = body(1)
arr(k, 5) = body(2)
End If
Next
If k > 0 Then Sheet1.Range("A100000").End(xlUp).Offset(1).Resize(k, UBound(arr, 2)).Value = arr
End Sub

Anh chị nào chỉ em lỗi sai ở đâu?
 
Lần chỉnh sửa cuối:
Upvote 0
Để lấy dữ liệu tất cả các File Txt vào 1 sheet bạn thử dùng code này:

PHP:
Sub NhieuFiletxt()
Dim ChonDong As Long          
'Chon duong dan     
Const strPath As String = "D:\theo doi hang hoa\"     
Dim LoaiFile As String          
   'Dung cap nhat màn hinh     
   Application.ScreenUpdating = False     
   ChDir strPath     
   'Chon loai File     
   LoaiFile = Dir(strPath & "*.txt")          
   Do While LoaiFile <> ""     
   'Gán du lieu vào Cell bat dau     
   ChonDong = Range("A65536").End(xlUp).Offset(1, 0).row                  
      With ActiveSheet.QueryTables.Add(Connection:= _           
            "TEXT;" & strPath & LoaiFile, Destination:=Range("$A$" & ChonDong))            
   .Refresh BackgroundQuery:=False            
End With        
LoaiFile = Dir    
Loop          
Application.ScreenUpdating = True    
'Call ChiaCot
End Sub

Insert 1 sheet mới rồi sang
sheet mới chạy code để thử, việc còn lại là dùng Text to Columns để tách dữ liệu ra từng cột, còn làm cái gì nữa thì chờ thành viên khác giúp.

Lưu ý: Folder có tên
theo doi hang hoa để trong ổ D.

 
Lần chỉnh sửa cuối:
Upvote 0
Để lấy dữ liệu tất cả các File Txt vào 1 sheet bạn thử dùng code này:

PHP:
Sub NhieuFiletxt()
Dim ChonDong As Long          
'Chon duong dan     
Const strPath As String = "D:\theo doi hang hoa\"     
Dim LoaiFile As String          
   'Dung cap nhat màn hinh     
   Application.ScreenUpdating = False     
   ChDir strPath     
   'Chon loai File     
   LoaiFile = Dir(strPath & "*.txt")          
   Do While LoaiFile <> ""     
   'Gán du lieu vào Cell bat dau     
   ChonDong = Range("A65536").End(xlUp).Offset(1, 0).row                  
      With ActiveSheet.QueryTables.Add(Connection:= _           
            "TEXT;" & strPath & LoaiFile, Destination:=Range("$A$" & ChonDong))            
   .Refresh BackgroundQuery:=False            
End With        
LoaiFile = Dir    
Loop          
Application.ScreenUpdating = True    
'Call ChiaCot
End Sub

Insert 1 sheet mới rồi sang
sheet mới chạy code để thử, việc còn lại là dùng Text to Columns để tách dữ liệu ra từng cột, còn làm cái gì nữa thì chờ thành viên khác giúp.

Lưu ý: Folder có tên
theo doi hang hoa để trong ổ D.


Dạ, code đúng rồi anh.Em cảm ơn anh đã hỗ trợ giúp em nhiều!
 
Upvote 0
Web KT

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

Back
Top Bottom