Lỗi khi copy

Liên hệ QC

spacemanforever

Thành viên hoạt động
Tham gia
8/10/08
Bài viết
113
Được thích
71
Chào anh em GPE!
em có code sau:
PHP:
Sub click()
[B2].Copy
Sheets("Sheet2").Range([B65536].End(xlUp).Offset(1), [C65536].End(xlUp).Offset(, -1)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet2").Select
End Sub
Khi chạy bị báo lỗi: Runtime error 1004: Application defined or Object defined error.
Anh chị hỗ trợ giúp em nhé.

T/B: Lúc chạy trên cùng 1 sheet thì ok. Nhưng chạy sang sheet khác thì bị lỗi... ko hiểu...+-+-+-++-+-+-+
Thanks and BR
 

File đính kèm

Chào anh em GPE!
em có code sau:
PHP:
Sub click()
[B2].Copy
Sheets("Sheet2").Range([B65536].End(xlUp).Offset(1), [C65536].End(xlUp).Offset(, -1)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet2").Select
End Sub
Khi chạy bị báo lỗi: Runtime error 1004: Application defined or Object defined error.
Anh chị hỗ trợ giúp em nhé.

T/B: Lúc chạy trên cùng 1 sheet thì ok. Nhưng chạy sang sheet khác thì bị lỗi... ko hiểu...+-+-+-++-+-+-+
Thanks and BR
Mô tả đi! Bắt nhìn code đoán ý làm biếng lắm
 
Upvote 0
Chào anh em GPE!
em có code sau:
PHP:
Sub click()
[B2].Copy
Sheets("Sheet2").Range([B65536].End(xlUp).Offset(1), [C65536].End(xlUp).Offset(, -1)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet2").Select
End Sub
Khi chạy bị báo lỗi: Runtime error 1004: Application defined or Object defined error.
Anh chị hỗ trợ giúp em nhé.

T/B: Lúc chạy trên cùng 1 sheet thì ok. Nhưng chạy sang sheet khác thì bị lỗi... ko hiểu...+-+-+-++-+-+-+
Thanks and BR
Không biết liệu trong cái Range([B65536].End(xlUp).Offset(1), [C65536].End(xlUp).Offset(, -1)) thì 2 ô [B65536], [C65536] là của Sheet1 hay Sheet2?
Thay vì 2 câu lệnh có dạng
PHP:
Range1.Copy
Range2.PasteSpecial Paste:=xlPasteValues
bạn có thể sử dụng câu lệnh sau cho gọn:
PHP:
Range2.Value=Range1.Value
Cụ thể, nếu 2 ô [B65536], [C65536] trong câu lệnh trên là của Sheet2 thì bạn có thể thay 2 câu lệnh trong code trên như vầy:
PHP:
With Sheets("Sheet2")
     .Range(.[B65536].End(xlUp).Offset(1), .[C65536].End(xlUp).Offset(, -1)).Value = Sheets("Sheet1").[B2].Value
End With
 
Upvote 0
Bạn thử 1trong 3 cách sau:
1. Đưa dòng lệnh Sheets("Sheet2").Select lên trên dòng lệnh paste.
2. Sửa câu lệnh paste thành:
Sheets("Sheet2").Range(sheet2.[B65536].End(xlUp).Offset(1),sheet2.[C65536].End(xlUp).Offset(, -1)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=
False
3. Gộp 2 câu thành:
[B2].Copy Sheets("Sheet2").Range(Sheet2.[B65536].End(xlUp).Offset(1), Sheet2.[C65536].End(xlUp).Offset(, -1))
Có một thắc mắc: vì sao bạn copy nội dung 1 ô mà dán vào 1 vùng?
 
Upvote 0
Có một thắc mắc: vì sao bạn copy nội dung 1 ô mà dán vào 1 vùng?
Có lẽ là tác giả muốn các bản ghi này được nhập cùng ngày hoặc các học sinh này học cùng 1 lớp chẳng hạn.
Nói nhỏ một xíu: Để hủy bỏ định dạng cho văn bản khi gõ bài, anh nhấn nút Remove Format trên thanh công cụ soạn thảo nhé (nút thứ 2, hàng trên cùng, có dấu X màu đỏ)
 
Upvote 0
Mô tả đi! Bắt nhìn code đoán ý làm biếng lắm
Cụ thể là như sau:
em muốn copy cell B2 ở sheet1 cho cả range B.. đến B ... của sheet2, nhưng bị báo lỗi.
Nhưng nếu sữa code lại chỉ áp dụng trên cùng 1 sheet (tức là xóa những chổ có sheet2 đi) thì chạy ok.
Anh hỗ trợ em nhé.
BR
 
Upvote 0
Cụ thể là như sau:
em muốn copy cell B2 ở sheet1 cho cả range B.. đến B ... của sheet2, nhưng bị báo lỗi.
Nhưng nếu sữa code lại chỉ áp dụng trên cùng 1 sheet (tức là xóa những chổ có sheet2 đi) thì chạy ok.
Anh hỗ trợ em nhé.
BR
Thế bạn đã thử cách của mình và anh tintam7251 chưa? Làm như vậy có đúng ý của bạn không?
 
Upvote 0
Hi all!
cuối cùng đã tìm ra nguyên nhân:
PHP:
Sub click()
[B2].Copy
Sheets("Sheet2").Range([B65536].End(xlUp).Offset(1), [C65536].End(xlUp).Offset(, -1)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Sheet2").Select
End Sub
ở đây có sự nhầm lẫn của sheet1 và sheet2:
Chỉ cần thay đoạn code gạch chân thành:
PHP:
[sheets("sheet2").B65536].End(xlUp).Offset(1), sheets("sheet2").[C65536].End(xlUp).Offset(, -1)
Như vậy là ok.
Cảm ơn mọi người nhiều
:-=:-=
 
Upvote 0
Xin các thầy chỉ cho em code làm sao để chỉ có thể paste special thôi còn paste thông thường không được.
 
Upvote 0
Web KT

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

Back
Top Bottom