Copy Workbook mới và thực hiện lệnh tại workbook vừa mới copy (1 người xem)

  • Thread starter Thread starter lhthai
  • Ngày gửi Ngày gửi
Liên hệ QC

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

lhthai

Thành viên thường trực
Tham gia
1/9/07
Bài viết
309
Được thích
27
Nhờ các anh hiệu chỉnh code sau
Em muốn sau khi copy ra workbook mới thì thực hiện lệnh màu đỏ tại workbok mới.
Mã:
Private Sub CommandButton1_Click()
Dim R As Long, M As Long
Sheets(Array("Sheet1")).Copy
[COLOR=#ff0000]With Sheet1[/COLOR]
[COLOR=#ff0000]R = .Range("A5").End(xlDown).Row[/COLOR]
[COLOR=#ff0000]M = .Range("A" & R + 2).End(xlDown).Row[/COLOR]
[COLOR=#ff0000]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 4).Copy[/COLOR]
[COLOR=#ff0000]Range("A" & R + 2).Offset(, 5).PasteSpecial xlPasteAll[/COLOR]
[COLOR=#ff0000]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 7).EntireRow.Delete[/COLOR]
[COLOR=#ff0000]End With[/COLOR]
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
 

File đính kèm

Nhờ các anh hiệu chỉnh code sau
Em muốn sau khi copy ra workbook mới thì thực hiện lệnh màu đỏ tại workbok mới.
Mã:
Private Sub CommandButton1_Click()
Dim R As Long, M As Long
Sheets(Array("Sheet1")).Copy
[COLOR=#ff0000]With Sheet1[/COLOR]
[COLOR=#ff0000]R = .Range("A5").End(xlDown).Row[/COLOR]
[COLOR=#ff0000]M = .Range("A" & R + 2).End(xlDown).Row[/COLOR]
[COLOR=#ff0000]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 4).Copy[/COLOR]
[COLOR=#ff0000]Range("A" & R + 2).Offset(, 5).PasteSpecial xlPasteAll[/COLOR]
[COLOR=#ff0000]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 7).EntireRow.Delete[/COLOR]
[COLOR=#ff0000]End With[/COLOR]
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Thấy code chạy bình thường mà ta? Hay là còn có ý nào khác nữa?
 
Upvote 0
bạn có nhìn thấy dấu hiệu nào là thực hiện code trên workbook mới trong code trên ?
Hehe. Nãy không đọc kỹ "chàng" ơi. Vẫn có dấu hiệu thực hiện trên workbook mới mà (Cùng 1 vấn đề có người thấy có người không?). Có điều nãy hiểu sai ý của chủ topic.
 
Upvote 0
nhưng code trên vẫn sai !
các bạn chạy sub này xem sao
Mã:
[FONT=Verdana]Private Sub CommandButton1_Click()[/FONT]
[FONT=Verdana]Dim R As Long, M As Long[/FONT]
[FONT=Verdana]Sheets(Array("Sheet1")).Copy[/FONT]
[COLOR=#ff0000][FONT=Verdana]With Sheet1[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]R = .Range("A5").End(xlDown).Row[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]M = .Range("A" & R + 2).End(xlDown).Row[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 4).Copy[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]Range("A" & R + 2).Offset(, 5).PasteSpecial xlPasteAll[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 7).EntireRow.Delete
[/FONT][/COLOR][FONT=Verdana]msgbox range("A1").parent.parent.name[/FONT]
[COLOR=#ff0000][FONT=Verdana]End With[/FONT][/COLOR]
[FONT=Verdana]Application.ScreenUpdating = True[/FONT]
[FONT=Verdana]Application.DisplayAlerts = True[/FONT]
[FONT=Verdana]End Sub[/FONT]
 
Upvote 0
nhưng code trên vẫn sai !
các bạn chạy sub này xem sao
Mã:
[FONT=Verdana]Private Sub CommandButton1_Click()[/FONT]
[FONT=Verdana]Dim R As Long, M As Long[/FONT]
[FONT=Verdana]Sheets(Array("Sheet1")).Copy[/FONT]
[COLOR=#ff0000][FONT=Verdana]With Sheet1[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]R = .Range("A5").End(xlDown).Row[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]M = .Range("A" & R + 2).End(xlDown).Row[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 4).Copy[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]Range("A" & R + 2).Offset(, 5).PasteSpecial xlPasteAll[/FONT][/COLOR]
[COLOR=#ff0000][FONT=Verdana]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 7).EntireRow.Delete
[/FONT][/COLOR][FONT=Verdana]msgbox range("A1").parent.parent.name[/FONT]
[COLOR=#ff0000][FONT=Verdana]End With[/FONT][/COLOR]
[FONT=Verdana]Application.ScreenUpdating = True[/FONT]
[FONT=Verdana]Application.DisplayAlerts = True[/FONT]
[FONT=Verdana]End Sub[/FONT]
Thì đúng rồi code đó vẫn thực hiện copy => paste trên Workbook nguồn, đó là ý #1 kêu sửa ấy?
P/s: hpkhuong đang làm rồi. Hehe
 
Upvote 0
Đã "xác nhận" là anh ấy có thấy đó.........@#!^%@#!^%@#!^%



Bạn làm chi mà cực vậy, thế tại sao không thực hiện lệnh tại sheet nguồn. sau đó mới copy sang workbook mới, xong xóa cái đã thực hiên trong sheet nguồn........
Mình hiểu ý bạn rồi nhưng mình muốn thực hiện trên workbook mới có được không.
Cám ơn bạn nhiều.
 
Lần chỉnh sửa cuối:
Upvote 0
Nhờ các anh hiệu chỉnh code sau
Em muốn sau khi copy ra workbook mới thì thực hiện lệnh màu đỏ tại workbok mới.
Mã:
Private Sub CommandButton1_Click()
Dim R As Long, M As Long
[COLOR=#ff0000]With [/COLOR][COLOR=#ff0000]Sheet1[/COLOR]
[COLOR=#ff0000]R = .Range("A5").End(xlDown).Row[/COLOR]
[COLOR=#ff0000]M = .Range("A" & R + 2).End(xlDown).Row[/COLOR]
[COLOR=#ff0000]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 4).Copy[/COLOR]
[COLOR=#ff0000]Range("A" & R + 2).Offset(, 5).PasteSpecial xlPasteAll[/COLOR]
[COLOR=#ff0000]Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 7).EntireRow.Delete[/COLOR]
[COLOR=#ff0000]End With[/COLOR]
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
khi copy thì workbook mới sẽ activate. code viết trong ThisWorkbook nên cần chỉ rõ Sheet trong ActiveWorkbook
Mã:
With [COLOR=#0000cd]ActiveWorkbook.Sheets[/COLOR](Sheet1)
    R = .Range("A5").End(xlDown).Row
    M = .Range("A" & R + 2).End(xlDown).Row
    .Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 4).Copy
    .Range("A" & R + 2).Offset(, 5).PasteSpecial xlPasteAll
    .Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 7).EntireRow.Delete
End With
 
Upvote 0
khi copy thì workbook mới sẽ activate. code viết trong ThisWorkbook nên cần chỉ rõ Sheet trong ActiveWorkbook
Mã:
With [COLOR=#0000cd]ActiveWorkbook.Sheets[/COLOR](Sheet1)
    R = .Range("A5").End(xlDown).Row
    M = .Range("A" & R + 2).End(xlDown).Row
    .Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 4).Copy
    .Range("A" & R + 2).Offset(, 5).PasteSpecial xlPasteAll
    .Range("A" & M + 2, .[A65536].End(xlUp)).Resize(, 7).EntireRow.Delete
End With
Code này báo lổi ở dòng lệnh sau
Mã:
With [COLOR=#0000cd]ActiveWorkbook.Sheets[/COLOR](Sheet1)
 
Upvote 0

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

Back
Top Bottom