hongphuong1997
Thành viên tiêu biểu

- Tham gia
- 12/11/17
- Bài viết
- 773
- Được thích
- 322
- Giới tính
- Nữ
Bạn thử tham khảo.Em nhờ các Bác và các anh chị viết giúp em code như file đính kèm ạ.
Em cảm ơn ạ
Chuẩn luôn anh oiBạn thử tham khảo.
Anh oi, làm phiền anh viết giúp em là copy vào sheet nằm luôn ở file hiện tại với anh nhéBạn thử tham khảo.
Bạn xem thử nhé.Anh oi, làm phiền anh viết giúp em là copy vào sheet nằm luôn ở file hiện tại với anh nhé
Em cảm ơn anh ạ.
ối trời oi, rất đúng anh oiBạn xem thử nhé.
Anh ơi sửa giúp em cái code này với ạBạn thử tham khảo.
Option Explicit
Sub Tong_hop_sang_file_khac()
Dim a As Date, c As String, i As Long, k As Long, lrn As Long
Dim sd As Worksheet, sn As Worksheet, wb As Workbook, nwb As Workbook
Set wb = ThisWorkbook
Set sn = wb.Sheets("Tonghop")
lrn = sn.Cells(Rows.Count, 1).End(xlUp).Row
a = Date: c = Replace(a, "/", "-")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set nwb = Workbooks.Open("C:\Users\admin\Desktop\Du_an\TH_Vat_tu.xlsx")
Set sd = nwb.Sheets.Add
For i = 1 To Sheets.Count
k = Sheets.Count
If Sheets(i).Name = c Then
Sheets(i).Copy Before:=Sheets(i)'Thêm cái này.....'
'MsgBox "Tên sheet nay da ton tai, vui long kiem tra truoc khi bat dau lai"
Exit Sub
End If
Next
With sd
.Name = c
sn.Range("A1:E" & lrn).Copy
.Range("A1:E" & lrn).PasteSpecial xlPasteAll
.Range("A1:E" & lrn).EntireColumn.AutoFit: .Range("A1").Select
nwb.Save
nwb.Close
End With
MsgBox "Da cap nhat xong, tong so sheets trong file là " & k
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Trong lúc chờ tác giả, bạn thử sửa lại đoạn dưới xem sao:Anh ơi sửa giúp em cái code này với ạ
Em muốn là nếu có tên sheets(14-09-2022) rồi mà copy lần nữa thì sẽ thành sheets(14-09-2022)(2); sheets(14-09-2022)(3).........
Em đã sửa như này rùi mà không được anh ơi.
Mã:Option Explicit Sub Tong_hop_sang_file_khac() Dim a As Date, c As String, i As Long, k As Long, lrn As Long Dim sd As Worksheet, sn As Worksheet, wb As Workbook, nwb As Workbook Set wb = ThisWorkbook Set sn = wb.Sheets("Tonghop") lrn = sn.Cells(Rows.Count, 1).End(xlUp).Row a = Date: c = Replace(a, "/", "-") Application.ScreenUpdating = False Application.DisplayAlerts = False Set nwb = Workbooks.Open("C:\Users\admin\Desktop\Du_an\TH_Vat_tu.xlsx") Set sd = nwb.Sheets.Add For i = 1 To Sheets.Count k = Sheets.Count If Sheets(i).Name = c Then Sheets(i).Copy Before:=Sheets(i)'Thêm cái này.....' 'MsgBox "Tên sheet nay da ton tai, vui long kiem tra truoc khi bat dau lai" Exit Sub End If Next With sd .Name = c sn.Range("A1:E" & lrn).Copy .Range("A1:E" & lrn).PasteSpecial xlPasteAll .Range("A1:E" & lrn).EntireColumn.AutoFit: .Range("A1").Select nwb.Save nwb.Close End With MsgBox "Da cap nhat xong, tong so sheets trong file là " & k Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
For i = 1 To Sheets.Count
k = Sheets.Count
If Sheets(i).Name = c Then
Sheets(i).Name = c & "(" & k - i + 1 & ")"
End If
Next
With sd
.Name = c
Cảm ơn anhTrong lúc chờ tác giả, bạn thử sửa lại đoạn dưới xem sao:
PHP:For i = 1 To Sheets.Count k = Sheets.Count If Sheets(i).Name = c Then Sheets(i).Name = c & "(" & k - i + 1 & ")" End If Next With sd .Name = c
Ghét anh!Chưa được thì làm tiếp.
Em cảm ơn anh ạBạn copy cả 2 file và thư mục D:\TH_du an\ và chạy thử xem đúng ý chưa?
Thử code này:Anh ơi sửa giúp em cái code này với ạ
Em muốn là nếu có tên sheets(14-09-2022) rồi mà copy lần nữa thì sẽ thành sheets(14-09-2022)(2); sheets(14-09-2022)(3).........
Em đã sửa như này rùi mà không được anh ơi.
Mã:Option Explicit Sub Tong_hop_sang_file_khac() Dim a As Date, c As String, i As Long, k As Long, lrn As Long Dim sd As Worksheet, sn As Worksheet, wb As Workbook, nwb As Workbook Set wb = ThisWorkbook Set sn = wb.Sheets("Tonghop") lrn = sn.Cells(Rows.Count, 1).End(xlUp).Row a = Date: c = Replace(a, "/", "-") Application.ScreenUpdating = False Application.DisplayAlerts = False Set nwb = Workbooks.Open("C:\Users\admin\Desktop\Du_an\TH_Vat_tu.xlsx") Set sd = nwb.Sheets.Add For i = 1 To Sheets.Count k = Sheets.Count If Sheets(i).Name = c Then Sheets(i).Copy Before:=Sheets(i)'Thêm cái này.....' 'MsgBox "Tên sheet nay da ton tai, vui long kiem tra truoc khi bat dau lai" Exit Sub End If Next With sd .Name = c sn.Range("A1:E" & lrn).Copy .Range("A1:E" & lrn).PasteSpecial xlPasteAll .Range("A1:E" & lrn).EntireColumn.AutoFit: .Range("A1").Select nwb.Save nwb.Close End With MsgBox "Da cap nhat xong, tong so sheets trong file là " & k Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
Option Explicit
Sub Tong_hop_sang_file_khac()
Dim wsName As String, mainLr As Long, dPath As String, mainRng As Range
Dim mainWb As Workbook, newWb As Workbook, mainWs As Worksheet, newWs As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'***************************************************************************
dPath = "C:\Users\admin\Desktop\Du_an\TH_Vat_tu.xlsx" ' => Chi sua path o day neu thay doi
Set mainWb = ThisWorkbook
Set mainWs = mainWb.Sheets("Tonghop")
'***************************************************************************
mainLr = mainWs.Cells(Rows.Count, "B").End(xlUp).Row
wsName = Format(Date, "dd-mm-yyyy")
Set mainRng = mainWs.Range("A1:E" & mainLr)
'***************************************************************************
Set newWb = Workbooks.Open(dPath)
On Error Resume Next
newWb.Sheets(wsName).Copy after:=newWb.Sheets(newWb.Sheets.Count)
If Err.Number > 0 Then
Set newWs = newWb.Sheets.Add
newWs.Name = wsName
Else
Set newWs = ActiveSheet
newWs.Cells.Clear
End If
On Error GoTo 0
'***************************************************************************
With newWs
mainRng.Copy .Cells(1, 1)
.Columns("A:E").AutoFit
.Rows("1:" & mainLr).AutoFit
newWb.Close True
End With
'***************************************************************************
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Em cảm ơn anh rất nhiều ạThử code này:
Mã:Option Explicit Sub Tong_hop_sang_file_khac() Dim wsName As String, mainLr As Long, dPath As String, mainRng As Range Dim mainWb As Workbook, newWb As Workbook, mainWs As Worksheet, newWs As Worksheet Application.ScreenUpdating = False Application.DisplayAlerts = False '*************************************************************************** dPath = "C:\Users\admin\Desktop\Du_an\TH_Vat_tu.xlsx" ' => Chi sua path o day neu thay doi Set mainWb = ThisWorkbook Set mainWs = mainWb.Sheets("Tonghop") '*************************************************************************** mainLr = mainWs.Cells(Rows.Count, "B").End(xlUp).Row wsName = Format(Date, "dd-mm-yyyy") Set mainRng = mainWs.Range("A1:E" & mainLr) '*************************************************************************** Set newWb = Workbooks.Open(dPath) On Error Resume Next newWb.Sheets(wsName).Copy after:=newWb.Sheets(newWb.Sheets.Count) If Err.Number > 0 Then Set newWs = newWb.Sheets.Add newWs.Name = wsName Else Set newWs = ActiveSheet newWs.Cells.Clear End If On Error GoTo 0 '*************************************************************************** With newWs mainRng.Copy .Cells(1, 1) .Columns("A:E").AutoFit .Rows("1:" & mainLr).AutoFit newWb.Close True End With '*************************************************************************** Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
Lần sau có phản hồi lại thì ngoài cảm ơn cũng nên cho biết tình trạng code thế nào, chạy được hay không. Nhiều khi lỗi cũng chỉ mỗi "em cảm ơn" chả biết nó ổn hay chưaEm cảm ơn anh rất nhiều ạ
Vâng ạLần sau có phản hồi lại thì ngoài cảm ơn cũng nên cho biết tình trạng code thế nào, chạy được hay không. Nhiều khi lỗi cũng chỉ mỗi "em cảm ơn" chả biết nó ổn hay chưa
Mong ngóng người ta code giúp, xong có rồi để đó! Rõ chánVâng ạ
Em chưa Test được anh oi
Em vẫn đang ở trường mừMong ngóng người ta code giúp, xong có rồi để đó! Rõ chán
1997 người ta đi lấy chồng hết rồi, học lắm thếEm vẫn đang ở trường mừ