Hỗ trợ tách từng sheet trong một file excel thành nhiều file excel - nhưng paste value

Liên hệ QC

Nguyenhoangphong0902

Đường trần muôn vạn ngã ba.........
Tham gia
27/7/21
Bài viết
56
Được thích
22
Chào mọi người em có bài thực tế như sau: em có 1 file excel nhiều sheet, em muốn tách mỗi sheet thành 1 file excel riêng. Hiện code trên mạng cũng có khá nhiều, nhưng khi nó tách file thì trong sheet của em là công thức thì khi tách thành file mới cũng là công thức, như vậy là không được. Em mong muốn khi tách ra thì nó là dạng Paste Value thôi. Em cảm ơn mọi người.

VD: 1 code tách nhiều sheet thành nhiều file, cái code này nó tách được thành nhiều file, nhưng mà công thức trong sheet nó vẫn giữ nguyên. Em muốn nó là paste Value thôi.
Sub splitbook()
Dim sPath As String
Dim cities
ReDim cities(1 To Worksheets.count)
Dim c As Long: c = 1
Dim sh As Worksheet
sPath = ActiveWorkbook.Path
Application.ScreenUpdating = False
For Each sh In Worksheets
cities(c) = sh.Name
Sheets(cities(c)).Copy
ActiveWorkbook.SaveAs _
Filename:=sPath & "\" & cities(c) & ".xlsx"
ActiveWorkbook.Close False
c = c + 1
Next sh
Application.ScreenUpdating = True
End Sub
 
Chào mọi người em có bài thực tế như sau: em có 1 file excel nhiều sheet, em muốn tách mỗi sheet thành 1 file excel riêng. Hiện code trên mạng cũng có khá nhiều, nhưng khi nó tách file thì trong sheet của em là công thức thì khi tách thành file mới cũng là công thức, như vậy là không được. Em mong muốn khi tách ra thì nó là dạng Paste Value thôi. Em cảm ơn mọi người.

VD: 1 code tách nhiều sheet thành nhiều file, cái code này nó tách được thành nhiều file, nhưng mà công thức trong sheet nó vẫn giữ nguyên. Em muốn nó là paste Value thôi.
Code chưa test:
PHP:
For Each sh In Worksheets
cities(c) = sh.Name
Sheets(cities(c)).Copy
With ActiveWorkbook
    .Sheets(1).UsedRange.Value = .Sheets(1).UsedRange.Value
    .SaveAs Filename:=sPath & "\" & cities(c) & ".xlsx"
    .Close False
End With
c = c + 1
Next sh
 
Upvote 0
Code chưa test:
PHP:
For Each sh In Worksheets
cities(c) = sh.Name
Sheets(cities(c)).Copy
With ActiveWorkbook
    .Sheets(1).UsedRange.Value = .Sheets(1).UsedRange.Value
    .SaveAs Filename:=sPath & "\" & cities(c) & ".xlsx"
    .Close False
End With
c = c + 1
Next sh
Em mới test thấy ngon lành rồi đó bác, cảm ơn bác nhiều.
 
Upvote 0
Web KT

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

Back
Top Bottom