Nhờ gỡ rối VBA với 2 file riêng biệt (1 người xem)

Liên hệ QC

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

nhatthuyen

Thành viên mới
Tham gia
25/3/12
Bài viết
16
Được thích
1
Xin chào các anh chị, em có 2 file như sau:
+ Dulieu.xlsm (trong đó có sheet1, sheet2)
+ Tonghop.xlsm (trong đó có sheet2)

Em muốn copy một vùng từ sheet1 của Dulieu.xlsm bỏ qua dòng dưới cùng của sheet2 của file Tonghop.xlsm. Em có viết chút code như sau:

Mã:
Sub copy_paste()
Dim dongcuoi_dulieu As Long
Dim dongcuoi_tonghop As Long

Windows("Dulieu.xlsm").Activate
With Sheet1
dongcuoi_dulieu = Sheet1.[B10].End(xlDown).Row
Sheet1.Rows("10:" & dongcuoi_dulieu).Copy
End With


Windows("Tonghop.xlsx").Activate
With sheet2
dongcuoi_tonghop= Sheet2.[B10000].End(xlUp).Row
Range("A" & dongcuoi_tonghop).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End With
End Sub

Code này bị vấn đề là dongcuoi_tonghop nó đếm số dòng của sheet2 của file Dulieu.xlsm chứ không như mong muốn là file Tonghop.xlsm.

Nhờ các anh chị giúp đỡ để biến dongcuoi_tonghop nó sẽ đếm của sheet2 bên file Tonghop.xlsm.

Cảm ơn anh chị đã tốn thời gian xem bài.
 
Xin chào các anh chị, em có 2 file như sau:
+ Dulieu.xlsm (trong đó có sheet1, sheet2)
+ Tonghop.xlsm (trong đó có sheet2)

Em muốn copy một vùng từ sheet1 của Dulieu.xlsm bỏ qua dòng dưới cùng của sheet2 của file Tonghop.xlsm. Em có viết chút code như sau:

Mã:
Sub copy_paste()
Dim dongcuoi_dulieu As Long
Dim dongcuoi_tonghop As Long

Windows("Dulieu.xlsm").Activate
With Sheet1
dongcuoi_dulieu = Sheet1.[B10].End(xlDown).Row
Sheet1.Rows("10:" & dongcuoi_dulieu).Copy
End With


Windows("Tonghop.xlsx").Activate
With sheet2
dongcuoi_tonghop= Sheet2.[B10000].End(xlUp).Row
Range("A" & dongcuoi_tonghop).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End With
End Sub

Code này bị vấn đề là dongcuoi_tonghop nó đếm số dòng của sheet2 của file Dulieu.xlsm chứ không như mong muốn là file Tonghop.xlsm.

Nhờ các anh chị giúp đỡ để biến dongcuoi_tonghop nó sẽ đếm của sheet2 bên file Tonghop.xlsm.

Cảm ơn anh chị đã tốn thời gian xem bài.
đưa 2 cái file đó lên đây xem thử coi.
 
Em xin gửi 2 file, trong đó code đang trong file Dulieu.
Bạn sửa lại code thế này thử xem, bạn chỉ cần mở file Dulieu.xlsm thôi không cần mở file Tonghop.xlsm đau.
Mã:
Sub copy_paste()
Dim Wb As Workbook
With Sheet1
    .Range("A10:B" & .Range("B65000").End(xlUp).Row).Copy
End With


Set Wb = Workbooks.Open(ThisWorkbook.Path & "\Tonghop.xlsm")


With Wb.Worksheets("TONGHOP")
    .[A10000].End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End With
Wb.Save
Wb.Close
Set Wb = Nothing
Application.CutCopyMode = False
End Sub
 
Xin chào các anh chị, em có 2 file như sau:
+ Dulieu.xlsm (trong đó có sheet1, sheet2)
+ Tonghop.xlsm (trong đó có sheet2)

Em muốn copy một vùng từ sheet1 của Dulieu.xlsm bỏ qua dòng dưới cùng của sheet2 của file Tonghop.xlsm. Em có viết chút code như sau:

Mã:
Sub copy_paste()
Dim dongcuoi_dulieu As Long
Dim dongcuoi_tonghop As Long

Windows("Dulieu.xlsm").Activate
With Sheet1
dongcuoi_dulieu = Sheet1.[B10].End(xlDown).Row
Sheet1.Rows("10:" & dongcuoi_dulieu).Copy
End With
Windows("Tonghop.xlsx").Activate
With sheet2
dongcuoi_tonghop= Sheet2.[B10000].End(xlUp).Row
Range("A" & dongcuoi_tonghop).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End With
End Sub

Code này bị vấn đề là dongcuoi_tonghop nó đếm số dòng của sheet2 của file Dulieu.xlsm chứ không như mong muốn là file Tonghop.xlsm.

Nhờ các anh chị giúp đỡ để biến dongcuoi_tonghop nó sẽ đếm của sheet2 bên file Tonghop.xlsm.

Cảm ơn anh chị đã tốn thời gian xem bài.

Dựa theo code của bạn, sửa lại như sau
Mã:
Sub copy_paste()Dim dongcuoi_dulieu As Long
Dim dongcuoi_tonghop As Long


Windows("Dulieu.xlsm").Activate
With Sheet1
    dongcuoi_dulieu = Sheet1.[B10].End(xlDown).Row
    Sheet1.Rows("10:" & dongcuoi_dulieu).Copy
End With

Workbooks("Tonghop.xlsx").Activate
Workbooks("Tonghop.xlsx").Worksheets("Sheet2").Select

dongcuoi_tonghop = Workbooks("Tonghop.xlsx").Worksheets("Sheet2").[B10000].End(xlUp).Row
Workbooks("Tonghop.xlsx").Worksheets("Sheet2").Range("A" & dongcuoi_tonghop).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False


End Sub
 
Thank bác Giaiphap. Em làm theo anh hhoang_56 thì rất dễ hiểu và dễ áp dụng với nhiều cửa sổ excel. Tks các anh nhiều.
--
-------
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom