Copy giá tri từ 2 cột (1 người xem)

  • Thread starter Thread starter sonktc
  • Ngày gửi Ngày gửi

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

sonktc

Thành viên chính thức
Tham gia
30/9/07
Bài viết
59
Được thích
3
Làm sao mình có thể copy value từ 2 cột, không cạnh nhau, sang 2 cột khác nhưng nằm cạnh nhau nhanh. VD : A1:A10,D1:D10 sang G1:G10,H1:H10
Thanks.
 
sonktc đã viết:
Làm sao mình có thể copy value từ 2 cột, không cạnh nhau, sang 2 cột khác nhưng nằm cạnh nhau nhanh. VD : A1:A10,D1:D10 sang G1:G10,H1:H10 Thanks.

Mã:
[b]
Sub Q1Copy()[/b]
  'A1:A10,D1:D10 sang G1:G10,H1:H10
 Range("A1:A10").Copy Destination:=Range("G1")
 Range("D1:D10").Copy Destination:=Range("H1") 
[b]End Sub[/b]
Mã:
[b]

Sub Q2Copy()[/b]
 Dim Rng As Range
 Set Rng = Union(Range("A1:A10"), Range("D1:D10"))
 Rng.Copy Destination:=Range("G1")
 [b]
End Sub[/b]
Mã:
[b]
Sub Q3Copy()[/b]
 Dim Rng As Range
 Set Rng = Range("A1:A" & Range("A65432").End(xlUp).Row)
 Rng.Copy Destination:=Range("G1")
 Set Rng = Range("D1:D" & Range("D65432").End(xlUp).Row)
 Rng.Copy Destination:=Range("H1")[b]
End Sub[/b]
@$@!^%
(hú í trong trường hợp 3 ta không thể dùng phw thức Union được vì có thể 2 cột A & D không cùng số dòng- Sẽ báo lỗi trong trường hợp như vậy!
 
Upvote 0
sonktc đã viết:
Làm sao mình có thể copy value từ 2 cột, không cạnh nhau, sang 2 cột khác nhưng nằm cạnh nhau nhanh. VD : A1:A10,D1:D10 sang G1:G10,H1:H10
Thanks.
Bạn chỉ cần mỗi chuyện copy thôi phải không? Theo đề bài của bạn, thì bạn chỉ cần quét chọn 2 khối A1:A10 và D1:D10 (nhấn Ctrl khi chọn), rồi đứng ở G1, bạn chọn Paste Special, chọn Value và đánh dấu ô Skip Blank ở dưới. Vậy là xong.
 
Upvote 0
Bạn SA_DQ Mình chưa biết sử dụng cái này, chỉ thêm cho mình 1 chút. Thanks
 
Upvote 0
sonktc đã viết:
Bạn SA_DQ Mình chưa biết sử dụng cái này, chỉ thêm cho mình 1 chút. Thanks
Bạn chỉ cần xài 1 trong 3 macro nêu trên;
Q1Copy để copy các ô bất di bất dịch là A1:A10 & D1:D10 đến G1 & H1 tw ứng;
Q2Copy cũng là cách viết # của cách 1;
Q3Copy thì copy toàn bộ dữ liệu trong cột A & D sang G & H tw ứng;

Để dùng 1 trong các macro trên, trong excel, bạn vô menu Tool -> Macro -> Macro. . . Trong cửa sổ macro name bạn nhập bất kỳ vài chữ cái mà bạn thích, VD 'MMMM' & bấm ENTER sẽ đưa ta đến CS Microsoft Visual Basic & sẵn 2 dòng lệnh
Mã:
 Sub MMMM ()
 End Sub
Bạn copy 1 trong ba đoạn code nêu trên vô bộ nhớ , cái nào mà bạn thấy cần; Sang CS MVB bạn tô đen 2 dòng lệnh trên & chép đoạn code vô; Lưu lại & có thể cho macro chạy = 1 trong 3 cách! ( Bạn tìm các cách chạy 1 macro trên diễn đàn vậy nha!)
 
Upvote 0
Bạn chỉ cần mỗi chuyện copy thôi phải không? Theo đề bài của bạn, thì bạn chỉ cần quét chọn 2 khối A1:A10 và D1:D10 (nhấn Ctrl khi chọn), rồi đứng ở G1, bạn chọn Paste Special, chọn Value và đánh dấu ô Skip Blank ở dưới. Vậy là xong.

Theo cách của anh Tường rất dễ hiểu nếu em thực hiện bằng chức năng Record Marco, tức chỉ lưu ý phần Skip Blank = True là được. Tuy nhiên để copy giá trị tại các cột khác nhau nhưng không cùng số dòng thì lại không làm được, phải quay về các cách của bác SA_DQ. (Em mới tìm hiểu nên cách của bác SA_DQ hơi khó ăn). Anh có cách giải nào dễ hiểu đáp ứng được bài toán này không ạ?

Sub Q4Copy()


Range("A1:A10,D1:D10").Select
Selection.Copy
Range("G1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
End Sub
 
Upvote 0
Theo cách của anh Tường rất dễ hiểu nếu em thực hiện bằng chức năng Record Marco, tức chỉ lưu ý phần Skip Blank = True là được. Tuy nhiên để copy giá trị tại các cột khác nhau nhưng không cùng số dòng thì lại không làm được, phải quay về các cách của bác SA_DQ. (Em mới tìm hiểu nên cách của bác SA_DQ hơi khó ăn). Anh có cách giải nào dễ hiểu đáp ứng được bài toán này không ạ?

Sub Q4Copy()


Range("A1:A10,D1:D10").Select
Selection.Copy
Range("G1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=True, Transpose:=False
End Sub

bạn cũng có thể lảm như vậy nè, chỉ tốn 2 dòng lệnh
Mã:
[G1:G10].value=[A1:A10].value
[H1:H10].value=[D1:D10].value
 
Upvote 0
Ủa? Vụ gì vậy?
Bài người ta hỏi cách đây 8 năm, giờ tự dưng "moi" ra để bàn là sao?
Chuyện copy/paste values cũng đâu phải là chuyện mới mẻ gì chứ?
 
Upvote 0
Ủa? Vụ gì vậy?
Bài người ta hỏi cách đây 8 năm, giờ tự dưng "moi" ra để bàn là sao?
Chuyện copy/paste values cũng đâu phải là chuyện mới mẻ gì chứ?

Dạ vâng,
Em mới tìm hiểu về VBA nên đọc tất cả các bài liên quan đến VBA, chỗ nào không hiểu nên em hỏi luôn ạ.
Thầy thông cảm giúp ạ, chỉ có cách này em mới học được thôi vì em không có điều kiện theo học lớp chính quy nào ạ.
 
Upvote 0

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

Back
Top Bottom